主动触发异常-raise
1 class People:
2 def __init__(self, name, age):
3 if not isinstance(name, str):
4 raise TypeError('名字必须是str类型')
5 if not isinstance(age, int):
6 raise TypeError('年龄必须是int类型')
7
8 self.name = name
9 self.age = age
10
11 p = People('abc', '123')
12
13 结果为:
14
15 Traceback (most recent call last):
16 File "C:/Users/xu516/PycharmProjects/Python全栈开发/第三模块/面向对象编程/33 try...except详细用法.py", line 59, in <module>
17 p = People('abc', '123')
18 File "C:/Users/xu516/PycharmProjects/Python全栈开发/第三模块/面向对象编程/33 try...except详细用法.py", line 54, in __init__
19 raise TypeError('年龄必须是int类型')
20 TypeError: 年龄必须是int类型