aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-11-01 17:38:33 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-11-01 17:38:33 +0100
commit5376efe7e63ef3c848a971ea845a16c7e030d153 (patch)
tree14681fae031222cd2b4bfc6686ae5b8e876f7fc0 /backend
parentb20f46c15dce8b196dbb8890890978947745e094 (diff)
move Exception to backend
Diffstat (limited to 'backend')
-rw-r--r--backend/CMakeLists.txt1
-rw-r--r--backend/Exception.cpp22
-rw-r--r--backend/Exception.h14
3 files changed, 37 insertions, 0 deletions
diff --git a/backend/CMakeLists.txt b/backend/CMakeLists.txt
index e0c377b..b7e8996 100644
--- a/backend/CMakeLists.txt
+++ b/backend/CMakeLists.txt
@@ -15,5 +15,6 @@ target_sources(main PUBLIC
String.cpp
print.cpp
Player.cpp
+ Exception.cpp
)
diff --git a/backend/Exception.cpp b/backend/Exception.cpp
new file mode 100644
index 0000000..4044d6a
--- /dev/null
+++ b/backend/Exception.cpp
@@ -0,0 +1,22 @@
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+
+#include "backend/String.h"
+
+#include "Exception.h"
+
+using namespace std;
+
+const char * Exception::what() {
+ return this->error.c_str();
+}
+
+Exception::Exception(const char * fmt, ...) {
+ va_list args;
+ va_start(args, fmt);
+ this->error = String::va_fmt(args, fmt);
+ va_end(args);
+}
+
diff --git a/backend/Exception.h b/backend/Exception.h
new file mode 100644
index 0000000..bc65aa0
--- /dev/null
+++ b/backend/Exception.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "backend/String.h"
+
+class Exception {
+public:
+ Exception(const char * fmt, ...);
+ const char * what();
+
+protected:
+ Exception() = default;
+ String error;
+};
+