diff --git a/examples/atexit_example.py b/examples/atexit_example.py new file mode 100644 index 000000000..0324d5b50 --- /dev/null +++ b/examples/atexit_example.py @@ -0,0 +1,7 @@ +import atexit +import sys + +def myexit(): + sys.exit(2) + +atexit.register(myexit) diff --git a/vm/src/stdlib/sys.rs b/vm/src/stdlib/sys.rs index af64aab04..5eda6e803 100644 --- a/vm/src/stdlib/sys.rs +++ b/vm/src/stdlib/sys.rs @@ -549,12 +549,12 @@ mod sys { } assert!(unraisable .exc_type - .fast_issubclass(vm.ctx.exceptions.exception_type)); + .fast_issubclass(vm.ctx.exceptions.base_exception_type)); // TODO: print module name and qualname if !vm.is_none(&unraisable.exc_value) { - write!(stderr, ": "); + write!(stderr, "{}: ", unraisable.exc_type); if let Ok(str) = unraisable.exc_value.str(vm) { write!(stderr, "{}", str.as_str()); } else {