赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。