2016-10-13 09:32:34 -04:00
|
|
|
# test that emergency exceptions work
|
|
|
|
|
|
|
|
import micropython
|
|
|
|
import sys
|
2021-03-15 09:57:36 -04:00
|
|
|
|
2017-09-21 01:24:57 -04:00
|
|
|
try:
|
2023-08-22 11:15:46 -04:00
|
|
|
import io
|
2017-09-21 01:24:57 -04:00
|
|
|
except ImportError:
|
|
|
|
print("SKIP")
|
|
|
|
raise SystemExit
|
2016-10-13 09:32:34 -04:00
|
|
|
|
|
|
|
# some ports need to allocate heap for the emg exc
|
|
|
|
try:
|
|
|
|
micropython.alloc_emergency_exception_buf(256)
|
|
|
|
except AttributeError:
|
|
|
|
pass
|
|
|
|
|
2021-03-15 09:57:36 -04:00
|
|
|
|
2016-10-13 09:32:34 -04:00
|
|
|
def f():
|
|
|
|
micropython.heap_lock()
|
|
|
|
try:
|
|
|
|
raise ValueError(1)
|
|
|
|
except ValueError as er:
|
2017-09-21 01:24:57 -04:00
|
|
|
exc = er
|
2016-10-13 09:32:34 -04:00
|
|
|
micropython.heap_unlock()
|
|
|
|
|
2023-10-18 17:49:14 -04:00
|
|
|
# CIRCUITPY
|
2021-04-23 15:26:42 -04:00
|
|
|
print(repr(exc))
|
2017-09-21 01:24:57 -04:00
|
|
|
|
2021-03-15 09:57:36 -04:00
|
|
|
|
2016-10-13 09:32:34 -04:00
|
|
|
f()
|