/usr/include/opencollada/COLLADABaseUtils/COLLADABUException.h is in opencollada-dev 0.1.0~20160714.0ec5063+dfsg1-2.
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | /*
Copyright (c) 2008-2009 NetAllied Systems GmbH
This file is part of COLLADABaseUtils.
Licensed under the MIT Open Source License,
for details please see LICENSE file or the website
http://www.opensource.org/licenses/mit-license.php
*/
#ifndef __COLLADABU_EXCEPTION_H__
#define __COLLADABU_EXCEPTION_H__
#include "COLLADABUPrerequisites.h"
#include "COLLADABUStableHeaders.h"
#include <iostream>
namespace COLLADABU
{
/** Class that is thrown by the base utils classes if something goes wrong. */
class Exception
{
public:
enum Type
{
ERROR_TYPE_UNKNOWN,
ERROR_FILE_OPEN,
ERROR_SET_BUFFER,
ERROR_UTF8_2_WIDE,
ERROR_WIDE_2_UTF8,
ERROR_NATIVE_2_WIDE,
ERROR_WIDE_2_NATIVE
};
protected:
/** The type of the exception. */
Type mExceptionType;
/** The error message for output. */
String mMessage;
public:
/** Constructor. Creates an exception of unknown type with the given message. */
Exception ( const String& message )
: mExceptionType ( ERROR_TYPE_UNKNOWN )
, mMessage ( message )
{}
/** Constructor. Creates an exception of type @a type with the given message. */
Exception ( Type exceptionType, const String& message )
: mExceptionType ( exceptionType )
, mMessage ( message )
{}
/** Constructor. */
Exception ( Type exceptionType, const String file, const long line, const String message )
: mExceptionType ( exceptionType )
{
std::ostringstream stream;
stream << file << ":" << line << ": " << message;
mMessage = stream.str ().c_str ();
}
/** Constructor. */
Exception ( const String file, const long line, const String message )
: mExceptionType ( ERROR_TYPE_UNKNOWN )
{
std::ostringstream stream;
stream << file << ":" << line << ": " << message;
mMessage = stream.str ().c_str ();
}
/** Destructor. */
virtual ~Exception () {}
/** Returns the type of the exception*/
Type getType()const {return mExceptionType;}
/** Returns the text, describing the exception.*/
String getMessage()const {return mMessage;};
/** Print the massage in the standard error output. */
void printMessage ()
{
if ( mExceptionType == ERROR_TYPE_UNKNOWN )
std::cerr << "MainException: " << mMessage << std::endl;
else
std::cerr << "MainException: " << mMessage << ", Error type " << mExceptionType << std::endl;
}
};
} //namespace COLLADABU
#endif //__COLLADABU_EXCEPTION_H__
|