电商的网站设计,php靓号网站源码,seo整站优化外包公司,设计公司起名大全异常处理 异常处理语句多个异常raise关键字常见的异常类型自定义异常 异常处理语句
在了解异常处理之前#xff0c;我们先对它的语句进行说明#xff0c;如下#xff1a;
try#xff1a;表示测试代码块以查找错误
except#xff1a;表示处理错误
finally#xff1a;表… 异常处理 异常处理语句多个异常raise关键字常见的异常类型自定义异常 异常处理语句
在了解异常处理之前我们先对它的语句进行说明如下
try表示测试代码块以查找错误
except表示处理错误
finally表示无论try和except返回的结果如何都必须执行
else表示所有异常都不执行就返回else关键字下的异常处理
代码如下
try:# 需要执行的语句# x没有定义程序必然会报错print(x)
except Exception as e:# 将错误进行打印print(e) #name x is not defined
finally:# 不管怎样都地执行print(我已经执行完毕)如果没有try except语句那么程序将会报一大堆地红色错误except语句负责捕获异常并将结果进行返回。
多个异常
当程序出现多个异常时可以根据自己地需要定义多个Exception即定义错误地类型。
代码如下
try:# 除数不能为0# 这里可以使用内置的 ZeroDivisionError类型a 3 / 0except NameError as e:print(e)
except ValueError as f:print(f)
except:print(其他的异常)
或者使用else语句进行输出当所有的异常都不是报错的类型时则执行else语句。
代码如下
try:a 3/0
except NameError as e:print(e)
except ValueError as f:print(f)
else:print(其他的异常)
raise关键字
raise关键字用来引发异常并且能够定义所引发异常类型、以及打印给用户的文本。这个关键字能够在使用条件语句的时候抛出异常。
代码如下
try:a int(input(请输入一个整数))if a 10:raise TypeError(输出的数太大了,抛出异常)
except TypeError as e:print(e)
常见的异常类型
以下是一些常见的异常类型
ValueError传递给函数的参数无效或不正确。
TypeError函数或操作应用于不适当的数据类型。
AttributeError尝试访问对象不存在的属性。
KeyError试图访问不存在的字典键。
IndexError尝试访问不存在的列表索引或元组索引。
IOError在执行文件操作时发生输入/输出错误。
ImportError尝试导入无法找到的模块或包。
ZeroDivisionError除数不能为零。
KeyboardInterrupt用户中断了程序的执行。
NameError尝试访问不存在的变量或函数。
NotImplementedError尝试调用尚未实现的方法。
自定义异常
我们在处理异常时不知道python自带的异常有哪些我们想自定义异常同时还能让python解释器进行识别。这时候我们该怎么办呢
代码如下
# 创建一个类使它继承Exception父类
# 这里就相当于创建了一个自己的异常类class MyError(Exception):# 给定一个msg参数用于接收异常的信息def __init__(self,msg):self.msg msgtry:a int(input(请输入一个整数))if a 10:# 使用raise关键字进行异常的抛出raise MyError(输出的数太大了,抛出异常)
except MyError as e:print(e)