Python学习九(异常处理)
一、通过try...execpt从句处理异常#!/usr/bin/python#coding=utf-8stockInfoList = ["12580", "65535"]try:stockInfoList.remove("123456")except:print("can't remove from list")try:2 + "error"#函数参数类型不正确时会触发except TypeEr
·
一、通过try...execpt从句处理异常
#!/usr/bin/python
#coding=utf-8
stockInfoList = ["12580", "65535"]
try:
stockInfoList.remove("123456")
except:
print("can't remove from list")
try:
2 + "error" #函数参数类型不正确时会触发
except TypeError:
print("type error")
def divide(x, y):
try:
return x/y
except(ZeroDivisionError, TypeError, Exception) as e:
print(e)
divide(1, "1")
divide(1, 0)
笔记:
1、当在try部分出现异常后,抛出的异常会被except从句捕获并进行处理,处理之后就能继续执行except之后的程序语句。
2、可以在except从句中通过参数来指定except从句能捕获和处理哪一类或者多类异常。
测试效果:
二、通过raise语句直接抛出异常
#!/usr/bin/python
#coding=utf-8
def divide(x, y):
if y==0:
raise Exception("Divisor is 0")
try:
return x/y
except (TypeError):
raise Exception("Parameters Type Error")
try:
print(divide(1, 0))
except (Exception) as e:
print(e)
try:
print(divide(1, "1"))
except (Exception) as e:
print(e)
print("following job")
笔记:
1、通过raise可以抛出自定义异常信息。
测试运行:
三、finally从句
#!/usr/bin/python
#coding=utf-8
def func():
try:
print("func")
return "return func"
finally:
print("finally")
return "return finally"
print(func())
笔记:
1、不管发生异常或否,或者不管发生何种异常,finally程序语句都会被执行到。
2、若将finally后的return语句注释掉,程序将会执行try中的return语句。
测试运行:
(没有注释:)
(注释:)
更多推荐
已为社区贡献2条内容
所有评论(0)