You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
643 B
41 lines
643 B
4 years ago
|
# test try handling within a viper function
|
||
|
|
||
|
# basic try-finally
|
||
|
@micropython.viper
|
||
|
def f():
|
||
|
try:
|
||
|
fail
|
||
|
finally:
|
||
|
print('finally')
|
||
|
try:
|
||
|
f()
|
||
|
except NameError:
|
||
|
print('NameError')
|
||
|
|
||
|
# nested try-except with try-finally
|
||
|
@micropython.viper
|
||
|
def f():
|
||
|
try:
|
||
|
try:
|
||
|
fail
|
||
|
finally:
|
||
|
print('finally')
|
||
|
except NameError:
|
||
|
print('NameError')
|
||
|
f()
|
||
|
|
||
|
# check that locals written to in try blocks keep their values
|
||
|
@micropython.viper
|
||
|
def f():
|
||
|
a = 100
|
||
|
try:
|
||
|
print(a)
|
||
|
a = 200
|
||
|
fail
|
||
|
except NameError:
|
||
|
print(a)
|
||
|
a = 300
|
||
|
print(a)
|
||
|
f()
|
||
|
|