| // WASM_FAILS_IN: WasmEdge |
| |
| fun test1() : String { |
| var s = ""; |
| try { |
| try { |
| s += "Try"; |
| throw Exception() |
| } catch (x : Exception) { |
| s += "Catch"; |
| throw x |
| } finally { |
| s += "Finally"; |
| } |
| } catch (x : Exception) { |
| return s |
| } |
| } |
| |
| fun test2() : String { |
| var s = ""; |
| |
| try { |
| s += "Try"; |
| throw Exception() |
| } catch (x : Exception) { |
| s += "Catch"; |
| } finally { |
| s += "Finally"; |
| } |
| |
| return s |
| } |
| |
| |
| |
| fun box() : String { |
| if (test1() != "TryCatchFinally") return "fail1: ${test1()}" |
| |
| if (test2() != "TryCatchFinally") return "fail2: ${test2()}" |
| |
| return "OK" |
| } |