aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-06-12 14:22:35 +0200
committerLoek Le Blansch <loek@pipeframe.xyz>2024-06-12 14:22:35 +0200
commit94ef7627456fd93c343c6516d1f235a27e54a082 (patch)
treec4892a63108733ff8673dbe02bfd0274b9651111
parentb5831ee54e8f6f6127b5cd5992f387e40009d250 (diff)
WIP broken exception handler
-rw-r--r--Parser.cpp7
-rw-r--r--main.cpp3
2 files changed, 6 insertions, 4 deletions
diff --git a/Parser.cpp b/Parser.cpp
index c8a90b4..50833d8 100644
--- a/Parser.cpp
+++ b/Parser.cpp
@@ -60,7 +60,12 @@ void Parser::parse(istream & input) {
}
if (circuit == nullptr) throw ParserException("circuit is not initialized!");
- circuit->create(label, nodes);
+
+ try {
+ circuit->create(label, nodes);
+ } catch(CircuitException & c) {
+ throw ParserException("Circuit error on line %u: %s", linenum, c.what());
+ }
}
}
diff --git a/main.cpp b/main.cpp
index aab566c..e2721b1 100644
--- a/main.cpp
+++ b/main.cpp
@@ -22,9 +22,6 @@ int main(int argc, char** argv) {
} catch (ParserException & e) {
cout << "Parser error: " << e.what() << endl;
return EXIT_FAILURE;
- } catch (CircuitException & e) {
- cout << "Circuit error: " << e.what() << endl;
- return EXIT_FAILURE;
}
try {