python异常-- try-catch-else-finally 异常-- raise

1、捕获异常-- try-catch-else-finally:

try:
    存在潜在的异常code放在try中,进行捕获。
except Exception,err:
    捕捉异常名称和参数,并抛出异常处理信息。
else:
    如果没有异常则执行else。
finally:
    退出try语句后总会执行的code。    

2、自己触发异常 raise

raise语法格式如下:

raise [Exception [, args [, traceback]]]

语句中 Exception 是异常的类型,args 是自已提供的异常参数,traceback参数是可选的,如果选择,是跟踪异常对象。

def mytest(s):
    try:
        if s is None:
            print("s 是空对象")
            # 如果引发NameError异常,后面的代码将不能执行
            raise NameError
        print(len(s))
    except TypeError:
        print("空对象没有长度")

if __name__ == '__main__':
    s = None
    result = mytest(s)
    print(result)
 运行结果:D:\Pytest_Demo\Scripts\python.exe D:/pycharmworkspace/Pytest_Demo/Demo/raise.py
Traceback (most recent call last):
s 是空对象
  File "D:/pycharmworkspace/Pytest_Demo/Demo/raise.py", line 14, in <module>
    result = mytest(s)
  File "D:/pycharmworkspace/Pytest_Demo/Demo/raise.py", line 6, in mytest
    raise NameError
NameError

Process finished with exit code 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值