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
|
|
@ -14,7 +14,7 @@ import asyncdispatch, strutils
|
|||
|
||||
proc foobar() {.async.} =
|
||||
if 5 == 5:
|
||||
raise newException(IndexError, "Test")
|
||||
raise newException(IndexDefect, "Test")
|
||||
|
||||
proc catch() {.async.} =
|
||||
# TODO: Create a test for when exceptions are not caught.
|
||||
|
|
@ -25,26 +25,26 @@ proc catch() {.async.} =
|
|||
|
||||
try:
|
||||
await foobar()
|
||||
except IndexError:
|
||||
except IndexDefect:
|
||||
echo("Specific except")
|
||||
|
||||
try:
|
||||
await foobar()
|
||||
except OSError, FieldError, IndexError:
|
||||
except OSError, FieldDefect, IndexDefect:
|
||||
echo("Multiple idents in except")
|
||||
|
||||
try:
|
||||
await foobar()
|
||||
except OSError, FieldError:
|
||||
except OSError, FieldDefect:
|
||||
assert false
|
||||
except IndexError:
|
||||
except IndexDefect:
|
||||
echo("Multiple except branches")
|
||||
|
||||
try:
|
||||
await foobar()
|
||||
except IndexError:
|
||||
except IndexDefect:
|
||||
echo("Multiple except branches 2")
|
||||
except OSError, FieldError:
|
||||
except OSError, FieldDefect:
|
||||
assert false
|
||||
|
||||
waitFor catch()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue