首页 > 编程语言 > 详细

python_异常

时间:2020-05-11 19:38:37      阅读:40      评论:0      收藏:0      [点我收藏+]

一。异常

定义:程序出现了意想不到的情况。

注意:异常不解决,程序会奔溃,停止运行。

1)捕获异常

形式:

try 要运行的有可能发生异常的代码 :
代码
except 异常:
出现异常的时候要运行的代码(执行的操作),记录日志
注意:一旦 try 当中出现异常,立即调到 except 子句,try 剩下的代码不会再执行。
例子(不抛出异常):
try:
list_1= [‘yuz‘, ‘bt‘, ‘wfe‘, ‘fwo‘]
print(list_1[9])
except:
pass
运行结果(直接把异常接收了不会直接报错):

技术分享图片

 

 

try:开始监控代码

except:接收异常

 

例子2(抛出异常):

try:
list_1= [‘yuz‘, ‘bt‘, ‘wfe‘, ‘fwo‘]
print(list_1[9])
except:
raise
运行结果:

技术分享图片

 

 raise:抛出异常

 

2)异常处理

例子1(捕获异常并自行抛出 except Exception as e):

try:
list_1= [‘yuz‘, ‘bt‘, ‘wfe‘, ‘fwo‘]
print(list_1[9])
except Exception as e:
print("list_1 这里执行出错了,错误是: {}".format(e))
运行结果:

技术分享图片

 

 注意:Exception 是捕捉常用异常(语法错误是不能捕捉的);在写程序时建议先不要对异常进行捕捉(捕捉后不抛出该异常根本不知道是什么类型的异常);

对每一种不同类型的异常分开处理;



例子3(
finally:管有没有报错,fianally 都会执行的。):
try:
list_1 = [‘yuz‘, ‘bt‘, ‘wfe‘, ‘fwo‘]
print(list_1[9])
except Exception as err:
print("程序出现错误 {}".format(err))
finally:
print("已经完成")
运行结果:

技术分享图片

 

 常用的异常类型:

ImportError: 无法引入模块或包。
IndexError: 下标索引超出序列边界;
NameError: 使用一个还未赋予对象的变量;
SyntaxError: 代码逻辑语法出错,不能执行; 不能去捕获
TypeError: 传入的对象类型与要求不符;
ValueError: 传入一个不被期望的值,即使类型正确。
KeyError: 试图访问你字典里不存在的键。
IOError:输入输出异常.文件操作

python_异常

原文:https://www.cnblogs.com/newsss/p/12860535.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!