coding:utf-8
try…except…用于捕获代码异常,当一段程序出现异常时,会导致程序崩溃,整个程序结束运行了。后续的一些逻辑也不再执行了。当异常被捕获并进行处理,可以保证整个程序的正常执行,后续的代码也不会受到异常的影响。
# try执行成功,则不执行except。
try:
# 写要捕获异常的代码
# except Exception,e:python2的写法
# except Exception as e:python3的写法
pass
except Exception,e:
# Exception:异常类,基本上能捕获常见的异常情况。表示异常原因
# e:用于接收错误原因的
# 出现异常时,需要设置的代码
pass
ImportError: 导入模块的异常类
try:
import a
except ImportError, e:
print 'Error: ',e
b = 10
c = 20
print 'b+c=',b+c
IndexError: 索引异常类
list1 = []
try:
print list1[0]
except IndexError, e:
print '索引错误:',e
# KeyError: 表示键出现异常的类
# ValueError: 表示值出现异常的类
# TypeError: 表示数据类型异常的类
# IOError: 表示文件读写异常的类
# try...except...else...
# file_test = open('a.txt', 'r')
# try:
# # 要捕获异常的代码
# file_test = open('a.txt', 'w')
# except Exception, e:
# # 出现异常时,需要处理异常的代码
# print 'Error: ',e
# else:
# # 若try执行成功时,紧接着执行else中的代码;
# # 若try出现异常没有执行成功,则不会执行else中的代码;
# print 'try执行成功'
try:
import b
except Exception, e:
print '-------',e
finally:
# 不管try执行成功还是失败,都会最终执行finally语句。
print 'finally执行了'
try:
import b
except Exception, e:
print '==========',e
else:
print 'else语句执行了'
finally:
print 'finally语句执行了'
如何在函数内部自定义一个异常:当调用该函数时,如果不符合函数内部定义的条件,则抛出这个异常;如果符合函数的条件,就不抛出异常。
raise: 抛出异常原因的关键字。
def is_outrange(age):
if age < 16:
raise Exception('小于16周岁,禁止玩王者荣耀!')
else:
return True
try:
res = is_outrange(20)
if res:
print '年龄符合条件,可以。'
except Exception, e:
print ']]]]]]]]]]]',e
版权声明:本文为z2286625177原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。