Python智阐7-Python异常处理

程序在编写或运行过程中,难免会出现各种各样的异常。有些异常需要我们去找出来改掉,有些异常是由于用户操作导致的,则需要我们去提示规范。本次主要介绍Python中对异常的处理。

1、try......except......else

用法说明:

1.1 else语句可有可无,可以有多个except语句

1.2 执行到try后面的执行语句时,如果有异常,则进行"异常类别"匹配,返回第一个匹配到的异常类别的抛出语句

1.3 可以写多个except,也可以一个except对应多个"异常类别".,这些"异常类别"放在一个括号里成为一个元组。

# try……except……else

格式1:

try:

执行语句

except 异常类别 as error:

抛出语句

else:

正常执行语句

示例:打印1/0

print(1/0)

出现异常:

Traceback (most recent call last):

File "D:/Code/异常处理.py", line 1, in

print(1/0)

ZeroDivisionError: division by zero

使用try......except改写:

try:

print(1/0)

except ZeroDivisionError as e:

print("除数不能为0")

else:

print("程序运行结束")

输出:

>>>除数不能为0

try:

print(1/1)

except ZeroDivisionError as e:

print("除数不能为0")

else:

print("程序运行结束")

输出:

1.0

程序运行结束

2、try......except......finally

当我们使了用try......except,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except后的语句。如果有finally语句块,则还会执行finally语句,也就是说,不管程序是否有异常,finally后面的语句都会被执行。

# try……except……finally

格式:

try:

执行语句

except 异常类别 as error:

抛出语句

finally:

正常执行语句

示例:(即使抛出异常了,finally后的语句还是会被执行)

try:

print(1/0)

except ZeroDivisionError as e:

print("除数不能为0")

finally:

print("程序运行结束")

输出:

除数不能为0

程序运行结束

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181011A0ETJX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券