异常
异常是程序在运行过程中发生的错误或异常情况。当出现异常时,程序会中断正常的执行流程,并尝试寻找相应的异常处理代码来处理异常。
Python 中的异常是一个对象,它表示了发生的错误或异常情况。异常对象包含了有关错误的信息,例如错误类型、错误消息和错误发生的位置等。
捕获异常
捕获程序有可能产生的异常
防止程序 由于异常 导致的出错闪退
不一定发生
try 块:包含可能会引发异常的代码。
except 块:用于捕获并处理特定类型的异常。可以有多个 except 块来处理不同类型的异常。
else 块:如果在 try 块中没有发生异常,将执行 else 块中的代码。
finally 块:无论是否发生异常,都会执行 finally 块中的代码。通常用于清理资源或执行一些必须的操作。
a = input("输入数字")
try:b = int(a)print(f"你输入的数字{b}")
except Exception as e:print("输入错误重新输入")
except ZeroDivisionError as e:print("除数为0")
else:print("你输入对了")
finally:print("正不正确都输出")
print("你好")
try:with open(f"123.txt", "r") as f:print(f.read())
except FileNotFoundError as e:print("诈骗", e)
print("你好")
因为文件不存在不能读取 所以返回错误
[Errno 2] No such file or directory: ‘123.txt’
自定义异常
class LTone(Exception):def __init__(self, msg):super().__init__(msg)while True:input_str = input("输入数字")try:input_value = int(input_str)if input_value < 1:raise LTone("数值小于1")except LTone as e:print(f"异常为{e}")except ValueError as e:print("不是数字")except Exception as e:print("未知异常")else:if input_value >= 1:if input_value % 2 == 1:print("奇数")else:print("偶数")