summaryrefslogtreecommitdiff
path: root/Examples/python/exception/runme.py
blob: 7b5c10d19d5c1a0e1b5a3eea4535c7935d1f864e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# file: runme.py

# Throw a lot of exceptions

import example

t = example.Test()
try:
    t.unknown()
except RuntimeError as e:
    print("incomplete type %s" % e.args[0])

try:
    t.simple()
except RuntimeError as e:
    print(e.args[0])

try:
    t.message()
except RuntimeError as e:
    print(e.args[0])

if not example.is_python_builtin():
    try:
        t.hosed()
    except example.Exc as e:
        print("%s %s" % (e.code, e.msg))
else:
    try:
        t.hosed()
    except BaseException as e:
        # Throwing builtin classes as exceptions not supported (-builtin
        # option)
        print(e)

for i in range(1, 4):
    try:
        t.multi(i)
    except RuntimeError as e:
        print(e.args[0])
    except example.Exc as e:
        print("%s %s" % (e.code, e.msg))