马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 |