在Python中,有许多内置的异常对象用于表示不同类型的错误或异常情况。以下是一些常见的异常对象:
- Exception:所有异常的基类,可以用于捕获所有类型的异常。
- ValueError:当传递给函数的参数类型正确但值不合适时引发的异常。
- TypeError:当操作或函数应用于不兼容类型的对象时引发的异常。
- IndexError:当尝试访问列表、元组或字符串等序列中不存在的索引时引发的异常。
- KeyError:当尝试使用字典中不存在的键时引发的异常。
- FileNotFoundError:当尝试打开不存在的文件时引发的异常。
- IOError:当发生输入/输出操作失败时引发的异常。
- ZeroDivisionError:当尝试除以零时引发的异常。
- ImportError:当导入模块失败时引发的异常。
- NameError:当尝试访问未定义的变量或函数时引发的异常。
以下是一些常见的异常对象及其使用实例:
1. Exception:所有异常的基类,可以用于捕获所有类型的异常。
try: # 可能发生异常的代码块 except Exception as e: print("发生异常:", e)
2. ValueError:当传递给函数的参数类型正确但值不合适时引发的异常。
def divide(a, b): if b == 0: raise ValueError("除数不能为零") return a / b try: result = divide(10, 0) except ValueError as e: print("发生值错误异常:", e)
3. TypeError:当操作或函数应用于不兼容类型的对象时引发的异常。
try: num = 10 + "5" except TypeError as e: print("发生类型错误异常:", e)
4. IndexError:当尝试访问列表、元组或字符串等序列中不存在的索引时引发的异常。
my_list = [1, 2, 3] try: value = my_list[3] except IndexError as e: print("发生索引错误异常:", e) 5. KeyError:当尝试使用字典中不存在的键时引发的异常。 my_dict = {"a": 1, "b": 2} try: value = my_dict["c"] except KeyError as e: print("发生键错误异常:", e)
6. FileNotFoundError:当尝试打开不存在的文件时引发的异常。
try: file = open("nonexistent.txt", "r") except FileNotFoundError as e: print("发生文件未找到异常:", e)
7. IOError:当发生输入/输出操作失败时引发的异常。
try: file = open("example.txt", "r") file.write("Hello") except IOError as e: print("发生输入/输出错误异常:", e) finally: file.close()
这些是Python中常见的异常对象及其使用实例。根据具体的需求和情况,可以选择合适的异常对象来捕获和处理异常。