mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
* 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.
22 lines
422 B
Nim
22 lines
422 B
Nim
discard """
|
|
outputsub: '''Error: unhandled exception: cannot dispatch; dispatcher is nil [NilAccessDefect]'''
|
|
exitcode: 1
|
|
"""
|
|
# bug #5599
|
|
type
|
|
Base = ref object of RootObj
|
|
Derived = ref object of Base
|
|
|
|
method inner(obj: Base) {.base.} =
|
|
quit "to override"
|
|
|
|
method outer(obj: Base) {.base.} =
|
|
echo "outer"
|
|
obj.inner()
|
|
|
|
method inner(obj: Derived) =
|
|
echo "inner Derived"
|
|
|
|
var x: Derived
|
|
x.outer()
|