Program Listing for File friException.h

Return to documentation for file (include/fri_client_sdk/friException.h)

#ifndef _KUKA_FRI_EXCEPTION_H
#define _KUKA_FRI_EXCEPTION_H

#include <stdio.h>

namespace KUKA
{
namespace FRI
{

class FRIException
{

public:
  FRIException(const char * message)
  {
    strncpy(_buffer, message, sizeof(_buffer) - 1);
    _buffer[sizeof(_buffer) - 1] = 0;      // ensure string termination
    printf("FRIException: ");
    printf(_buffer);
    printf("\n");
  }

  FRIException(const char * message, const char * param1)
  {
#ifdef _MSC_VER
    _snprintf(      // visual studio compilers (up to VS 2013) only know this method
#else
    snprintf(
#endif
      _buffer, sizeof(_buffer), message, param1);
    printf("FRIException: ");
    printf(_buffer);
    printf("\n");
  }

  FRIException(const char * message, const char * param1, const char * param2)
  {
#ifdef _MSC_VER
    _snprintf(      // visual studio compilers (up to VS 2013) only know this method
#else
    snprintf(
#endif
      _buffer, sizeof(_buffer), message, param1, param2);
    printf("FRIException: ");
    printf(_buffer);
    printf("\n");
  }

  const char * getErrorMessage() const {return _buffer;}

  virtual ~FRIException() {}

protected:
  static char _buffer[1024];

};

}
}


#endif // _KUKA_FRI_EXCEPTION_H