python Exception 异常处理

Python 使用异常对象(exception object)来表示异常情况,遇到错误后,会引发异常。如果异常对象没有被捕获或者处理,程序就会用回溯(Tracback,一种错误信息)终止执行。


我们知道异常信息可以提示出错的信息,所有的异常都是基类Exception的子类,自定义异常可以从Exception类中继承

常见的异常有:



使用异常的语句形式:

方式一:  使用try,except语句处理,当有多个异常时,可以使用多个except语句处理

ty:
    code.....
except  [exception,[data....]:
    code......
except  [exception,[data....]:
    code......
except  [exception,[data....]:
    code......

注意:当处理多个异常时,如果有继承异常时,子类(异常)要放到父类(异常)的前面,否则处理父类异常会截获子类异常。


方式二:  当没有发生异常时,执行else语句(类似与if else语句)

try:
     code.....
except [exception,[data...]]:
    code......
else:
    code......

方式三:使用finally语句,当有没有异常时多执行finally语句块

try:
    code....
except [exception,[data...]]:
    code.....
finally:
    code.....

except 语句块可以省略。


python语言也支持自定义异常,自定义异常需要从基类Exception继承。

自定义一个异常类(MyException)

class MyException(Exception): pass

使用自定义异常类处理

try:
    raise MyException
except MyException:
    print 'a Error'

上述代码中的raise关键字是用来引发异常的,使用的方法,raise + 异常的名字

raise语句还可以对异常对象进行初始化的参数,使用的方法,在异常类的名称后面添加一个逗号以及指定的参数。

例如:raise  ValueError, 'invalid argument'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值