2016-10-14 00:32:34 +11:00
|
|
|
# test that emergency exceptions work
|
|
|
|
|
|
|
|
import micropython
|
|
|
|
import sys
|
2021-03-15 19:27:36 +05:30
|
|
|
|
2017-09-21 15:24:57 +10:00
|
|
|
try:
|
|
|
|
import uio
|
|
|
|
except ImportError:
|
|
|
|
print("SKIP")
|
|
|
|
raise SystemExit
|
2016-10-14 00:32:34 +11:00
|
|
|
|
|
|
|
# some ports need to allocate heap for the emg exc
|
|
|
|
try:
|
|
|
|
micropython.alloc_emergency_exception_buf(256)
|
|
|
|
except AttributeError:
|
|
|
|
pass
|
|
|
|
|
2021-03-15 19:27:36 +05:30
|
|
|
|
2016-10-14 00:32:34 +11:00
|
|
|
def f():
|
|
|
|
micropython.heap_lock()
|
|
|
|
try:
|
|
|
|
raise ValueError(1)
|
|
|
|
except ValueError as er:
|
2017-09-21 15:24:57 +10:00
|
|
|
exc = er
|
2016-10-14 00:32:34 +11:00
|
|
|
micropython.heap_unlock()
|
|
|
|
|
2021-04-23 12:26:42 -07:00
|
|
|
print(repr(exc))
|
2017-09-21 15:24:57 +10:00
|
|
|
|
2021-03-15 19:27:36 +05:30
|
|
|
|
2016-10-14 00:32:34 +11:00
|
|
|
f()
|