"""
try:
正常逻辑
except Exception,err:
触发自定义异常
else:
其余代码
"""
# 捕获异常
try:
fh = open("testfile.txt", "r")
fh.write("这是一个测试文件,用于测试异常!!")
# 捕获任何异常
# except BaseException:
# 专门捕获open读取异常
# 写捕获异常的时候,尽量写捕获专门的异常, 好处是方便排查问题 坏处就是麻烦一点
except IOError:
print("Error: 没有找到文件或读取文件失败")
else:
print("内容写入文件成功")
fh.close()
"""
用户自定义异常
通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。
以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。
在try语句块中,用户自定义的异常后执行except块语句,变量 e 是用于创建Networkerror类的实例。
class Networkerror(RuntimeError):
def __init__(self, arg):
self.args = arg
在你定义以上类后,你可以触发该异常,如下所示:
try:
raise Networkerror("Bad hostname")
except Networkerror,e:
print e.args
"""
python 捕获异常
最新推荐文章于 2024-02-16 20:18:41 发布