|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 风不会停息 于 2018-7-3 23:50 编辑
1. 常见的异常: http://bbs.fishc.com/thread-45814-1-1.html
2. try:
xxx
except Exception [as reason]:
xxx
finally:
xxx
用来捕捉并处理产生的异常, Exception为将会产生异常的名称, 可以同时捕捉多个异常, 用()元组表示, reason为发生异常的原因, print(reason)即可打印原因, 若在try...except 中间发生异常, 则之后的语句一直到except 都不会执行, 若异常发生, 则先执行except后的语句再执行finally后的语句, 不发生异常则不执行except后的语句但要执行finally后的语句:
- >>> try:
- temp = int(input("输入一个整数: "))
- print('输入为整数时我会被打印')
- except ValueError as reason:
- print('发生异常, 原因为' + str(reason) )
- print('输入不是整数时我会被打印')
- finally:
- print('我会被打印')
-
- 输入一个整数: 1
- 输入为整数时我会被打印
- 我会被打印
复制代码
- >>> try:
- temp = int(input("输入一个整数: "))
- print('输入为整数时我会被打印')
- except ValueError as reason:
- print('发生异常, 原因为' + str(reason) )
- print('输入不是整数时我会被打印')
- finally:
- print('我会被打印')
-
- 输入一个整数: 1.5
- 发生异常, 原因为invalid literal for int() with base 10: '1.5'
- 输入不是整数时我会被打印
- 我会被打印
复制代码
3. raise Exception : 强制发生异常, 异常名称为Exception, 当 raise Exception('xxxx'), 则抛出异常的同时还会打印括号里的内容, 例如:
- >>> raise ValueError
- Traceback (most recent call last):
- File "<pyshell#18>", line 1, in <module>
- raise ValueError
- ValueError
复制代码
- >>> raise ValueError('我会被打印')
- Traceback (most recent call last):
- File "<pyshell#23>", line 1, in <module>
- raise ValueError('我会被打印')
- ValueError: 我会被打印
复制代码
4. except 后若不跟异常名称的话, 则会捕捉dtry后出现的所有异常, 包括 键盘中断
5. locals():局部变量符号表, 储存所有创建的变量, 当检查变量是否存在时, 可以使用 for 'variable' in locals(): 存在则为True, 不存在即为False |
|