Exception.hpp 805 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. class Exception {
  3. private:
  4. const char* const _FileName;
  5. const int _NumberOfLine;
  6. const char* _CustomMessage;
  7. public:
  8. Exception(const char* FileName, int Line, const char* Message) noexcept :
  9. _FileName(FileName),
  10. _NumberOfLine(Line),
  11. _CustomMessage(Message) {}
  12. const char* SourceFile() const noexcept {
  13. return _FileName;
  14. }
  15. int SourceLine() const noexcept {
  16. return _NumberOfLine;
  17. }
  18. const char* CustomMessage() const noexcept {
  19. return _CustomMessage;
  20. }
  21. virtual bool HasErrorCode() const noexcept {
  22. return false;
  23. }
  24. virtual unsigned long ErrorCode() const noexcept {
  25. return 0;
  26. }
  27. virtual const char* ErrorString() const noexcept {
  28. return nullptr;
  29. }
  30. };