mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
74 lines
982 B
Python
74 lines
982 B
Python
try:
|
|
for i in range(5):
|
|
raise KeyError(i)
|
|
exit(1)
|
|
except KeyError:
|
|
pass
|
|
|
|
x = 0
|
|
for i in range(5):
|
|
try:
|
|
for j in range(5):
|
|
while True:
|
|
raise KeyError(i)
|
|
x += 3
|
|
except KeyError:
|
|
x += i
|
|
assert x == 10
|
|
|
|
class A:
|
|
def __getitem__(self, i):
|
|
raise KeyError(i)
|
|
|
|
try:
|
|
a = A()
|
|
b = a[1]
|
|
exit(1)
|
|
except:
|
|
pass
|
|
|
|
try:
|
|
a = {'1': 3, 4: None}
|
|
x = a[1]
|
|
exit(1)
|
|
except:
|
|
pass
|
|
assert True
|
|
|
|
def f():
|
|
try:
|
|
raise KeyError('foo')
|
|
except A: # will fail to catch
|
|
exit(1)
|
|
except:
|
|
pass
|
|
assert True
|
|
|
|
f()
|
|
|
|
def f1():
|
|
try:
|
|
assert 1 + 2 == 3
|
|
try:
|
|
a = {1: 2, 3: 4}
|
|
x = a[0]
|
|
except A:
|
|
exit(1)
|
|
except B:
|
|
exit(1)
|
|
exit(1)
|
|
|
|
try:
|
|
f1()
|
|
exit(1)
|
|
except KeyError:
|
|
pass
|
|
|
|
|
|
assert True, "Msg"
|
|
try:
|
|
assert False, "Msg"
|
|
exit(1)
|
|
except AssertionError:
|
|
pass
|