1.无措处理案例
2.主动触发异常案例
3.finally扫尾工作处理方案
4.自定义异常处理案例
5.常见异常案例
源码:
#1. 无措处理方案
try:
age = int(input("请输入您的年龄:"))
except ValueError:
pass # 无操作处理
def input_password():
# 提示用户输入密码
pwd = input("请输入密码:")
# 如果密码长度>=8,返回用户输入的密码
if len(pwd) >= 8:
return pwd
# 如果 < 8 主动抛出异常
print("主动抛出异常")
# 1> 创建异常对象
ex = Exception("密码长度不够")
# 2> raise 主动抛出异常
raise ex
# 提示用户输入密码
try:
print(input_password())
except Exception as result:
print(result)
#3.finally扫尾工作处理方案
try:
a = int(input("请输入 a 的值:"))
print(20 / a)
except:
print("发生异常!")
else:
print("执行 else 块中的代码")
finally:
print("执行 finally 块中的代码")
from OutOfAge import OutOfAge #4.自定义异常处理案例
x = input('请输入一个数:')
y = input('请输入另一个数:')
try:
a = int(x)
if a < 18:
raise OutOfAge
b = int(y)
if b == 0:
raise ZeroDivisionError
c = a/b
except OutOfAge:
print('自定义异常处理类')
except ValueError:
print('检查输入字符串是否为可转换为整数。')
except ZeroDivisionError:
print('除以 0 错误。')
else:
print('没有错误。')
finally:
print('程序执行完毕。')
#5.常见异常
int('abc')输出结果
请输入您的年龄:12
请输入密码:123456
主动抛出异常
密码长度不够
请输入 a 的值:4
5.0
执行 else 块中的代码
执行 finally 块中的代码
请输入你的年龄:9
你是未成年人。
请输入一个数:7
请输入另一个数:6
自定义异常处理类
Traceback (most recent call last):
File "C:\Users\19553\.conda\envs\douban\venv\module.py", line 76, in <module>
int('abc')
ValueError: invalid literal for int() with base 10: 'abc'
程序执行完毕。
常见异常还有
6.默认异常处理案例