Error -> Defect for defects (#13908)
* Error -> Defect for defects The distinction between Error and Defect is subjective, context-dependent and somewhat arbitrary, so when looking at an exception, it's hard to guess what it is - this happens often when looking at a `raises` list _without_ opening the corresponding definition and digging through layers of inheritance. With the help of a little consistency in naming, it's at least possible to start disentangling the two error types and the standard lib can set a good example here.
This commit is contained in:
parent
cd9af6b804
commit
7d6cbf290a
92 changed files with 323 additions and 300 deletions
|
|
@ -13,7 +13,7 @@ proc main() =
|
|||
try:
|
||||
echo "before"
|
||||
raise newException(CatchableError, "foo")
|
||||
except AssertionError:
|
||||
except AssertionDefect:
|
||||
echo "caught"
|
||||
echo "after"
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ proc mainB() =
|
|||
echo "before"
|
||||
raise newException(CatchableError, "foo")
|
||||
# except CatchableError: # would work
|
||||
except AssertionError:
|
||||
except AssertionDefect:
|
||||
echo "caught"
|
||||
except:
|
||||
raise
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ discard """
|
|||
cmd: "nim c --gc:arc --exceptions:goto --panics:off $file"
|
||||
output: '''prevented!
|
||||
caught
|
||||
AssertionError
|
||||
AssertionDefect
|
||||
900'''
|
||||
"""
|
||||
|
||||
|
|
@ -30,18 +30,18 @@ proc main(i: int) =
|
|||
try:
|
||||
var objA = ObjA()
|
||||
bplease(ObjB(objA))
|
||||
except ObjectConversionError:
|
||||
except ObjectConversionDefect:
|
||||
echo "prevented!"
|
||||
|
||||
try:
|
||||
takeRange(i)
|
||||
except RangeError:
|
||||
except RangeDefect:
|
||||
echo "caught"
|
||||
|
||||
try:
|
||||
helper()
|
||||
except AssertionError:
|
||||
echo "AssertionError"
|
||||
except AssertionDefect:
|
||||
echo "AssertionDefect"
|
||||
|
||||
echo i * i
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
discard """
|
||||
outputsub: "index 2 not in 0 .. 0 [IndexError]"
|
||||
outputsub: "index 2 not in 0 .. 0 [IndexDefect]"
|
||||
exitcode: 1
|
||||
cmd: "nim c --gc:arc --exceptions:setjmp $file"
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue