> few such cases

SIGSEGV? you usually can't tell what state your application is in after one of 
these, so you can't reliably raise or handle it.

Options like `--panics:on` and `exceptions:goto` create a different dialects of 
the language that libraries you use may or may not support.

Whether or not something is a `Defect` is somewhat arbitrary in that each type 
has its own rules - for example, `var i = @[1]; echo i[1]` raises a `Defect` \- 
`var t: Table[int, int]; echo t[1]` raises a catchable - you'll need to read 
the documentation for every function you call, and quite often its 
implementation, to find out - there's usually no direct technical reason for 
things being `Defect` \- it's rather a style / design choice. 

Reply via email to