/usr/include/libGenome-1.3/libGenome/gnException.h is in libgenome-1.3-dev 1.3.1-9.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | #ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifndef _gnException_h_
#define _gnException_h_
#include "libGenome/gnClone.h"
#include "libGenome/gnExceptionCode.h"
#include <string>
#include <list>
namespace genome {
class GNDLLEXPORT gnException
{
public:
gnException( const char* const srcFile,
const unsigned int srcLine,
const char* const function,
gnExceptionCode& code,
const char* const message );
friend std::ostream& operator<<(std::ostream& os, const gnException& gne); //write to source.
gnExceptionCode& GetCode(){return m_code;}
std::string GetMessage(){return m_message;}
void AddCaller( const char* const function );
protected:
gnExceptionCode& m_code;
std::string m_message;
const char* const m_file;
unsigned int m_line;
std::list<std::string> function_trace;
};
inline
gnException::gnException(const char* const srcFile, const unsigned int srcLine, const char* const function, gnExceptionCode& code, const char* const message ) :
m_code(code), m_message(message), m_file(srcFile), m_line(srcLine){
AddCaller(function);
}
GNDLLEXPORT
std::ostream& operator<<(std::ostream& os, const gnException& gne); //write to source.
#ifdef __GNDEBUG__
#define STACK_TRACE_START try{
#define STACK_TRACE_END \
}catch(genome::gnException& e){\
e.AddCaller(__PRETTY_FUNCTION__);\
throw e;\
}
#else
#define STACK_TRACE_START
#define STACK_TRACE_END
#endif // ifdef __DEBUG__
#define Throw_gnEx(code) throw genome::gnException(__FILE__, __LINE__, __PRETTY_FUNCTION__, code, "")
#define Throw_gnExMsg(code,msg) throw genome::gnException(__FILE__, __LINE__, __PRETTY_FUNCTION__, code, msg)
} // end namespace genome
#endif //_gnException_h_
|