From e64daf38c0b6c98ccd75af777c58708c395b1b95 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 28 Aug 2026 13:42:59 +0100 Subject: Use IOException rather than RuntimeException for unrecognised tag --- .../javatransient0/JavaTransient0Generator.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java index 36052d5..3a7f0ff 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java @@ -804,15 +804,10 @@ public class JavaTransient0Generator implements Generator { cases.add(new JavaSwitchRule( new JavaCaseDefault(), new JavaBlock(List.of( - new JavaThrowStatement(new JavaNewExpression( - JavaTypeRef.RUNTIME_EXCEPTION, - List.of( - new JavaBinaryOperation( - JavaBinaryOperator.ADD, - new JavaStringLiteral("unrecognised variant tag for " + sumDefinition.type().describe() + ": "), - new JavaRef(variantTag) - ) - ) + throwIoException(new JavaBinaryOperation( + JavaBinaryOperator.ADD, + new JavaStringLiteral("unrecognised variant tag for " + sumDefinition.type().describe() + ": "), + new JavaRef(variantTag) )) )) )); @@ -1637,9 +1632,13 @@ public class JavaTransient0Generator implements Generator { } private static JavaThrowStatement throwIoException(String errorMessage) { + return throwIoException(new JavaStringLiteral(errorMessage)); + } + + private static JavaThrowStatement throwIoException(JavaExpression errorMessage) { return new JavaThrowStatement(new JavaNewExpression( JavaTypeRef.IO_EXCEPTION, - List.of(new JavaStringLiteral(errorMessage)) + List.of(errorMessage) )); } -- cgit v1.2.3