diff options
author | heterodoxic <122719743+heterodoxic@users.noreply.github.com> | 2023-06-04 08:56:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-04 08:56:11 +0200 |
commit | 0d4d70f15c8c440a3b71cc3b39d677520221f3e0 (patch) | |
tree | e64e0c9a7fada14a9daa376af82164b87cbbeb71 /tests/ccgbugs | |
parent | 929cb4d6017455b1749d2e3d7d1d903046f66163 (diff) | |
download | Nim-0d4d70f15c8c440a3b71cc3b39d677520221f3e0.tar.gz |
shallow fix for #21972, #18552 by moving std::exception_ptr to the parent sco… (#21988)
shallow fix for #21972 by moving std::exception_ptr to the parent scope, minor cleanup
Diffstat (limited to 'tests/ccgbugs')
-rw-r--r-- | tests/ccgbugs/t21972.nim | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/ccgbugs/t21972.nim b/tests/ccgbugs/t21972.nim new file mode 100644 index 000000000..58d0cfc62 --- /dev/null +++ b/tests/ccgbugs/t21972.nim @@ -0,0 +1,33 @@ +discard """ + targets: "c cpp" + outputsub: "Error: unhandled exception: Err2 [IOError]" + exitcode: "1" +""" + +proc bar(x: var int) = + inc x + if x == 3: + raise newException(ValueError, "H0") + + elif x == 5: + raise newException(IOError, "H1") + + elif x > 7: + raise newException(IOError, "H2") + + +proc foo() = + var i = 0 + while true: + try: + bar(i) + echo i + + except ValueError: + debugEcho("ValueError") + + except IOError: + raise newException(IOError, "Err2") + +when isMainModule: + foo() \ No newline at end of file |