From 025cee42eaf5f8b1c409e1a3a8fe3df8dac8d262 Mon Sep 17 00:00:00 2001 From: Elias Haugsbakk Date: Mon, 21 Sep 2026 15:38:24 +0200 Subject: refactor exception handling to differentiate internal exceptions from compilation failer --- .../no/eliashaugsbakk/kompilator/parsing/Parser.java | 1 - .../kompilator/parsing/ParserException.java | 16 ++++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing') diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java index 1f65b38..483cdda 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java @@ -24,7 +24,6 @@ import no.eliashaugsbakk.kompilator.parsing.node.statement.Assignment; import no.eliashaugsbakk.kompilator.parsing.node.statement.ExpressionStatement; import no.eliashaugsbakk.kompilator.parsing.node.statement.IdentifierDeclaration; import no.eliashaugsbakk.kompilator.parsing.node.statement.Statement; -import no.eliashaugsbakk.kompilator.tokenization.Position; import no.eliashaugsbakk.kompilator.tokenization.Token; /* diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java index 562094a..edae1f8 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java @@ -1,15 +1,15 @@ package no.eliashaugsbakk.kompilator.parsing; +import no.eliashaugsbakk.kompilator.CompilationException; import no.eliashaugsbakk.kompilator.tokenization.Position; -public class ParserException extends Exception { +public class ParserException extends CompilationException { public ParserException(Position position, String message) { - String pos; - if (position == null) { - pos = "ukjent posisjon"; - } else { - pos = position.line() + ":" + position.column(); - } - super(pos + ", " + message); + super(format(position, message)); + } + + private static String format(Position position, String message) { + String pos = position == null ? "ukjent posisjon" : position.line() + ":" + position.column(); + return pos + ", " + message; } } -- cgit v1.2.3