Python-异常

捕获异常

基本语法:

try:
	可能发生错误的代码
except:
	如果出现异常执行的代码
# 尝试以r模式打开文件,如果文件不存在则以w方式打开
try:
	f = open('linux.txt', 'r')
except:
	f = open('linux.txt', 'r')

捕获指定异常

tryprint(name)
except NameError as e:
	print("出现了变量未定义的异常")           #NameError是具体的异常类型 
	print(e)                                 #e就是异常信息

捕获多个异常

tryprint(name)
except (NameError,ZeroDivisionError) as e:
	print("出现变量未定义 或者 除以 0 的异常")          

捕获全部异常

方式1

try:
	f = open('linux.txt', 'r')
except:
	f = open('linux.txt', 'r')

方式2

tryexcept Exception as e:   

elseprint("没出现异常")

异常的finally

finally表示的是无论是否异常都要执行的代码,例如关闭文件

try:
	f = open('linux.txt', 'r')
except Exception as e: 
	f = open('linux.txt', 'w')
else:
	print("没有异常")
finally:
	f.close()           # 无论有没有异常 都要执行

异常的传递

异常是具有传递性的,当函数1中发生异常,并且没有捕获处理这个异常的时候,异常会传递到包含他的函数之内
当所有函数都没有捕获异常的时候,程序就会报错


版权声明:本文为qq_49214507原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。