python中异常的处理

1. 捕捉异常使用try/except语句,try语句包含可能出错的代码,except语句捕获异常信息并处理。

下面介绍一个简单的例子。自定义一个异常类NameNotFound。异常应该是典型的继承自Execption类,通过直接或间接的方式。

#coding:utf-8
#test1.py
import sys
class NameNotFound(Exception):
    def __init__(self):
        print("No execption")
    pass

def test(x):
    if x==0:
        raise NameNotFound
    print("test")

try:
    test(0)
except NameNotFound:
    print NameNotFound.message
    #sys.exit(1)
    pass

执行上述代码,python test1.py  结果如下:

No execption
<attribute 'message' of 'exceptions.BaseException' objects>

会看到抛出异常NameNotFound时,后面的打印test没执行。

使用raise抛出异常,一旦执行了raise语句,raise后面的语句将不能执行。

获取python执行结果的返回值,使用echo $? 文件名

例如:echo $? test1.py  会打印出 0 test1.py

如果想修改返回值,将代码中注释的sys.exit(1) 放开,在执行代码,python test1.py

再次获取返回值echo $? test1.py  会打印出 1 test1.py

2. 使用except而不带任何异常类型

try:
    正常的操作
   ......................
except:
    发生异常,执行这块代码
   ......................
else:
    如果没有异常执行这块代码

3. 使用except而带多种异常类型

try:
    正常的操作
   ......................
except(Exception1[, Exception2[,...ExceptionN]]]):
   发生以上多个异常中的一个,执行这块代码
   ......................
else:
    如果没有异常执行这块代码

4.try-finally语句

try-finally语句无论是否发生异常都将执行finally语句

try:
    正常的操作
   ......................
finally:
    总是执行
try:
    正常的操作
   ......................
except:
    发生异常,执行这块代码
   ......................
finally:
    总是执行

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值