You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
938 B
C++
39 lines
938 B
C++
#ifndef RAYLIB_CPP_INCLUDE_RAYLIBEXCEPTION_HPP_
|
|
#define RAYLIB_CPP_INCLUDE_RAYLIBEXCEPTION_HPP_
|
|
|
|
#include <stdexcept>
|
|
#include <string>
|
|
|
|
#include "./raylib.hpp"
|
|
|
|
namespace raylib {
|
|
/**
|
|
* Exception used for most raylib-related exceptions.
|
|
*/
|
|
class RaylibException : public std::runtime_error {
|
|
public:
|
|
/**
|
|
* Construct a runtime exception with the given message.
|
|
*
|
|
* @param message The message to provide for the exception.
|
|
*/
|
|
RaylibException(std::string message) throw() : std::runtime_error(message) {
|
|
// Nothing
|
|
}
|
|
|
|
/**
|
|
* Outputs the exception message to TraceLog().
|
|
*
|
|
* @param logLevel The output status to use when outputing.
|
|
*/
|
|
void TraceLog(int logLevel = LOG_ERROR) {
|
|
::TraceLog(logLevel, std::runtime_error::what());
|
|
}
|
|
};
|
|
|
|
} // namespace raylib
|
|
|
|
using RRaylibException = raylib::RaylibException;
|
|
|
|
#endif // RAYLIB_CPP_INCLUDE_RAYLIBEXCEPTION_HPP_
|