当前位置:   article > 正文

python处理异常的语句_python异常处理

一个try代码块可以对应多个expect

异常捕获的语法

1,try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理

2,一个try语句可以对应多个expect语句,但只能对应一个finally子句,或是一个try-expect-finally复合语句

3,可以使用try-expect语句监测和处理异常,也可以添加一个可选的else子句处理没有监测到异常时的执行代码

4,finally 是不管有无错误,都会执行的代码。一般用来做清除工作

常见的错误类型

1,ValueError:传入无效的参数

2,ZeroDivisionError :除数为0(任何一个数值被零除都会引发此错误)

3,ModuleNotFoundError :找不到模块

4,TypeError : 对类型无效的操作

5,AssertionError : 断言失败

6,NameError :变量未声明或初始化

7,SyntaxError:python解释器语法错误(代码中有一个不正确的结构,改正之前程序无法运行)

8,IndexError:请求的索引超出范围

9,KeyError:请求一个不存在的字典关键字

10,FileNotFoundError:输入/输出错误(打开文件路径错误会引发此错误)

11,AttributeError:尝试访问未知的对象属性

下面一个是一个简单的异常处理的例子

num = input("请输入一个数字:")

res = 100 / int(num)

try:

res = 100 / int(num)

except: # try里面的语句报错了,执行except

# 你抓到了异常,你自己额外添加的处理

print("输入有误,请输入非0的数字!")

# 你处理完了之后,把错误又抛出给python解释器

raise

else: # try里面的语句没报错,执行else

print(res)

finally:

# 不管try里面有没有报错。最后一定会执行的代码。

print("我是一定要执行的收尾代码!")

如果知道会出现哪些错误,可以针对不同的错误做不同的处理

try:

res = 100 / int(num)

except ZeroDivisionError as e: # try里面的语句报错了

# 你抓到了异常,你自己额外添加的处理

print("输入有误!请输入非0的数字!")

print(e)

# 你处理完了之后,把错误又抛出给python解释器

raise

except ValueError as e:

# 抓到异常,额外添加的处理。这里没有 raise 表示不显示异常

print("输入有误!请输入数字类型!")

print(e)

except Exception as e:

print("其它未知错误")

print(e)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/205087?site
推荐阅读
相关标签
  

闽ICP备14008679号