OpenGTA/util/m_exceptions.cpp

56 lines
1.8 KiB
C++
Raw Permalink Normal View History

2015-12-03 00:37:02 +00:00
#include "m_exceptions.h"
#include <sstream>
namespace Util {
LocalException::LocalException(const char *f, const size_t l, const char* n) :
inFile(f), typeName(n), msg(""), inLine(l) {}
LocalException::LocalException(const char *f, const size_t l, const char* n,
const std::string _msg) :
inFile(f), typeName(n), msg(_msg), inLine(l) {}
const char* LocalException::what() const throw() {
std::ostringstream o;
o << typeName << " (" << inFile << ":" << inLine << "): " << msg;
return o.str().c_str();
}
FileNotFound::FileNotFound(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "FileNotFound", _msg) {}
IOError::IOError(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "IOError", _msg) {}
InvalidFormat::InvalidFormat(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "InvalidFormat", _msg) {}
UnknownKey::UnknownKey(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "UnknownKey", _msg) {}
OutOfRange::OutOfRange(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "OutOfRange", _msg) {}
OutOfMemory::OutOfMemory(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "OutOfMemory", _msg) {}
ScriptError::ScriptError(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "ScriptError", _msg) {}
NotSupported::NotSupported(const char* f, const size_t l, const std::string _msg) :
LocalException(f, l, "NotSupported", _msg) {}
}
#if 0
using namespace Util;
int main(int argc, char* argv[]) {
try {
throw E_FILENOTFOUND("foobar.zip");
}
catch (Exception & e) {
std::cout << "E: " << e.what() << std::endl;
}
}
#endif