File tree Expand file tree Collapse file tree 4 files changed +16
-20
lines changed Expand file tree Collapse file tree 4 files changed +16
-20
lines changed Original file line number Diff line number Diff line change 5
5
# mp_obj_new_exception_msg (decompression can be deferred)
6
6
7
7
# NameError uses mp_obj_new_exception_msg_varg for NameError("name '%q' isn't defined")
8
- # set.pop uses mp_obj_new_exception_msg for KeyError("pop from an empty set ")
8
+ # `raise 0` uses mp_obj_new_exception_msg for TypeError("exceptions must derive from BaseException ")
9
9
10
10
# Tests that deferred decompression works both via print(e) and accessing the message directly via e.args.
11
11
12
- a = set ()
13
-
14
12
# First test the regular case (can use heap for allocating the decompression buffer).
15
13
try :
16
14
name ()
17
15
except NameError as e :
18
16
print (type (e ).__name__ , e )
19
17
20
18
try :
21
- a . pop ()
22
- except KeyError as e :
19
+ raise 0
20
+ except TypeError as e :
23
21
print (type (e ).__name__ , e )
24
22
25
23
try :
28
26
print (e .args [0 ])
29
27
30
28
try :
31
- a . pop ()
32
- except KeyError as e :
29
+ raise 0
30
+ except TypeError as e :
33
31
print (e .args [0 ])
34
32
35
33
# Then test that it still works when the heap is locked (i.e. in ISR context).
41
39
print (type (e ).__name__ )
42
40
43
41
try :
44
- a . pop ()
45
- except KeyError as e :
42
+ raise 0
43
+ except TypeError as e :
46
44
print (type (e ).__name__ )
47
45
48
46
micropython .heap_unlock ()
Original file line number Diff line number Diff line change 1
1
NameError name 'name' isn't defined
2
- KeyError pop from an empty set
2
+ TypeError exceptions must derive from BaseException
3
3
name 'name' isn't defined
4
- pop from an empty set
4
+ exceptions must derive from BaseException
5
5
NameError
6
- KeyError
6
+ TypeError
Original file line number Diff line number Diff line change 9
9
except AttributeError :
10
10
pass
11
11
12
- a = set ()
13
-
14
12
15
13
def test ():
16
14
micropython .heap_lock ()
@@ -21,8 +19,8 @@ def test():
21
19
print (type (e ).__name__ , e )
22
20
23
21
try :
24
- a . pop ()
25
- except KeyError as e :
22
+ raise 0
23
+ except TypeError as e :
26
24
print (type (e ).__name__ , e )
27
25
28
26
try :
@@ -31,8 +29,8 @@ def test():
31
29
print (e .args [0 ])
32
30
33
31
try :
34
- a . pop ()
35
- except KeyError as e :
32
+ raise 0
33
+ except TypeError as e :
36
34
print (e .args [0 ])
37
35
38
36
micropython .heap_unlock ()
Original file line number Diff line number Diff line change 1
1
NameError name 'name' isn't defined
2
- KeyError pop from an empty set
2
+ TypeError exceptions must derive from BaseException
3
3
name 'name' isn't defined
4
- pop from an empty set
4
+ exceptions must derive from BaseException
You can’t perform that action at this time.
0 commit comments