summary refs log tree commit diff stats
path: root/lib/system/exceptions.nim
Commit message (Collapse)AuthorAgeFilesLines
* better nativestacktrace support; refs #15284; backport [1.2] (#15384)Andreas Rumpf2020-09-221-0/+5
| | | | | | | | | | | | | | | | | * nimStackTraceOverride: enable stack traces in exceptions This is a two-step stack trace collection scheme, because re-raised exceptions will collect multiple stack traces but use them rarely, when printing info about an uncaught exception, so it makes sense to only do the cheap stack unwinding all the time and the relatively expensive debugging information collection on-demand. `asyncfutures` implements its own `$` proc for printing `seq[StackTraceEntry]`, so we have to add the debugging info there, just like we do for the private `$` proc in `system/excpt`. * cleaned up PR #15284 Co-authored-by: Ștefan Talpalaru <stefantalpalaru@yahoo.com>
* exceptions.nim: Fix a bad `Error` -> `Defect` renaming (#14621)ee72020-06-101-1/+1
| | | This commit fixes a mistake from 7d6cbf290a.
* Error -> Defect for defects (#13908)Jacek Sieka2020-04-281-21/+44
| | | | | | | | | | | | | | * 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.
* stacktraces can now show custom runtime msgs per frame (#13351)Timothee Cour2020-03-301-0/+9
| | | | | | | | * stacktraces can now show custom runtime msgs * improve tests/stdlib/tstackframes.nim * fix test for --gc:arc * test --stacktraceMsgs:on and --stacktraceMsgs:off * --stacktracemsgs:off by default
* Attempt to finish off araq cpp exceptions (#13695)cooldome2020-03-191-6/+0
| | | | | | | | | | | | | | | * config update * disable a questionable test * remove c++ exception handling IDs, new impl doesn't require it anymore * C++ based exceptions finally work * fixes bootstrapping problem in C++ mode * teach GCC it's 2020 now * more bugfixes for C++ based exception handling * apply cooldome's patch * another attempt to enable C++11 * bug fix Co-authored-by: Araq <rumpf_a@web.de> Co-authored-by: cooldome <ariabushenko@bk.ru>
* System cleanup, part 2 (#13155)Miran2020-01-151-0/+137
* create basic_types, arithmetics, exceptions, comparisons * create setops.nim * create memalloc.nim * create gc_interface.nim * create iterators_1.nim