您的位置:首页 > 编程语言 > Python开发

python3 笔记8异常

2018-01-23 15:52 169 查看

异常

异常:即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。

1.    语法

try:(在关键字try和关键字except之间的语句)

语句体:

except 异常类型:(如果没有异常发生,忽略except子句,try子句执行后结束。如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和
except 之后的名称相符,那么对应的except子句将被执行。最后执行
try 语句之后的代码。如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。一个
try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。

处理程序将只针对对应的try子句中的异常进行处理,而不是其他的 try
的处理程序中的异常。)
处理语句:

2.    finally语句:

3.  >>>
def divide(x, y):
4.          try:
5.              result = x
/ y
6.          except
ZeroDivisionError:
7.              print("divisionby zero!")
8.          else:
9.              print("resultis", result)
10.         finally:
11.             print("executingfinally clause")
12.    
13. >>> divide(2,
1)
14. result is
2.0
15. executing finally clause
16. >>> divide(2,
0)
17. division by zero!
18. executing finally clause
19. >>> divide("2",
"1")
20. executing finally clause
21. Traceback
(most recent call last):
22.   File
"<stdin>", line
1, in
?
23.   File
"<stdin>", line
3, in divide
24. TypeError: unsupported operand type(s)
for /:
'str' and 'str'

3.自定义异常类通常要继承Exception基类。要用raise引用自定义的异常。raise
唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception
的子类)。

如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise
语句就可以再次把它抛出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: