mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 01:44:37 +00:00
fixes #8740
This commit is contained in:
@@ -273,7 +273,7 @@ proc cleanUpOnException(c: PCtx; tos: PStackFrame):
|
||||
abstractPtrs)
|
||||
else: nil
|
||||
#echo typeToString(exceptType), " ", typeToString(raisedType)
|
||||
if exceptType.isNil or inheritanceDiff(exceptType, raisedType) <= 0:
|
||||
if exceptType.isNil or inheritanceDiff(raisedType, exceptType) <= 0:
|
||||
# mark exception as handled but keep it in B for
|
||||
# the getCurrentException() builtin:
|
||||
c.currentExceptionB = c.currentExceptionA
|
||||
|
||||
@@ -2,6 +2,8 @@ discard """
|
||||
output: '''[127, 127, 0, 255]
|
||||
[127, 127, 0, 255]
|
||||
'''
|
||||
|
||||
nimout: '''caught Exception'''
|
||||
"""
|
||||
|
||||
#bug #1009
|
||||
@@ -34,3 +36,16 @@ proc ABGR*(val: int| int64): TAggRgba8 =
|
||||
const
|
||||
c1 = ABGR(0xFF007F7F)
|
||||
echo ABGR(0xFF007F7F).repr, c1.repr
|
||||
|
||||
|
||||
# bug 8740
|
||||
|
||||
static:
|
||||
try:
|
||||
raise newException(ValueError, "foo")
|
||||
except Exception:
|
||||
echo "caught Exception"
|
||||
except Defect:
|
||||
echo "caught Defect"
|
||||
except ValueError:
|
||||
echo "caught ValueError"
|
||||
Reference in New Issue
Block a user