首页 > 代码库 > 异常处理
异常处理
1、 在程序运行过程中,总会遇到各种各样的错误。程序一出错就停止运行了,那我们不能让程序停止运行吧,这时候就需要捕捉异常了,通过捕捉到的异常,我们再去做对应的处理。
例:
names = [‘jdj‘,‘jdjd‘,‘hhu‘]
dict = {
‘苹果‘:52,
‘香蕉‘:20,
‘樱桃‘:80
}
如果直接执行print names[5],程序会报错,这时候我们就可以使用try...except..来捕捉这个异常信息
try: #捕获异常
print(names[5])
#except IndexError as e:#捕捉特定的异常
except Exception as e:#捕捉所有的异常
print(‘输入的下标不存在‘)#python3的写法
#python2 的写法
try:
print(names[5])
except IndexError,e:
print(e)
捕捉异常使用try....except....在写代码的时候,先要考虑到这段代码可能会出现什么样的错误,然后做对应的处理,try里面就是包含你做处理的代码,except里面就是出了某种错误的时候,我怎么去处理。
当然上面的只能捕捉到输入下标不存在的错误,如果有别的错误就捕捉不到了;还有一个finally的用法,就是不管出不出异常都执行;try还有一个可以捕捉所有异常,还有else的用法,就是没出异常的时候怎么办,下面用代码来解释。
try:
print(dict.keys())
except Exception as e:
#出现异常做什么操作
print(e)
else:
#没有出现异常去做什么操作
finally:
print(‘不管在什么情况下都会执行‘)
2、常见的一些异常信息:
AttributeError: 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x IOError:输入/输出异常,一般是无法打开文件 ImportError: 无法导入模块或包,一般是路径问题或名称错误 IndentationError:代码没有正确对齐,属于语法错误 IndexError:下标索引超出序列边界,比如x只有三个元素,却试图访问x[3] KeyError:试图访问字典里不存在的键 KeyboardInterrupt:Ctrl+C被按下 NameError:使用一个还未被赋予对象的变量 SyntaxError: 语法错误 TypeError: 传入对象类型与要求的不符 UnboundLocalError:试图访问一个还未被设置的局部变量,一般是由于在代码块外部还有另一个同名变量 ValueError: 传入一个调用者不期望的值,即使值的类型是正确的
3、
异常处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。