diff --git a/idea/testData/codegen/tryCatch.jet b/idea/testData/codegen/tryCatch.jet new file mode 100644 index 00000000000..0314589c143 --- /dev/null +++ b/idea/testData/codegen/tryCatch.jet @@ -0,0 +1,9 @@ +fun foo(s: String): String? { + try { + Integer.parseInt(s); + return "no message"; + } + catch(e: NumberFormatException) { + return e.getMessage(); + } +} diff --git a/idea/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java b/idea/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java index ca8f4f2f240..c4f2fdd30c1 100644 --- a/idea/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java +++ b/idea/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java @@ -100,4 +100,11 @@ public class ControlStructuresTest extends CodegenTestCase { } assertTrue(caught); } + + public void testTryCatch() throws Exception { + loadFile("tryCatch.jet"); + final Method main = generateFunction(); + assertEquals("no message", main.invoke(null, "0")); + assertEquals("xxx", main.invoke(null, "a")); + } }