| class A(val p: String) { | |
| val prop: String = throw RuntimeException() | |
| } | |
| class B(val p: String) { | |
| val prop: String = if (p == "test") "OK" else throw RuntimeException() | |
| } | |
| fun box(): String { | |
| var result = "fail" | |
| try { | |
| if (A("test").prop != "OK") return "fail 1" | |
| } | |
| catch (e: RuntimeException) { | |
| result = "OK" | |
| } | |
| if (result != "OK") return "fail 1: $result" | |
| if (B("test").prop != "OK") return "fail 2" | |
| result = "fail" | |
| try { | |
| if (B("fail").prop != "OK") return "fail 3" | |
| } | |
| catch (e: RuntimeException) { | |
| return "OK" | |
| } | |
| return "fail" | |
| } |