十种常见Python异常与案例分析

原创 绝地灬酷狼 2025-03-09 01:54 10阅读 0赞

在Python编程中,我们可能会遇到各种异常。以下是我总结的十种常见Python异常及其案例分析:

  1. ZeroDivisionError:除数为0。
    案例

    1. try:
    2. div_num = 1 / 0
    3. except ZeroDivisionError as e:
    4. print(f"Error: {e}")
  2. ValueError:提供的值不在有效范围内。
    案例

    1. try:
    2. age = int(input("Enter your age: ")) < 0
    3. except ValueError as e:
    4. print(f"Error: {e}")
  3. TypeError:数据类型不匹配。
    案例

    1. try:
    2. str_num = "123"
    3. int_num = int(str_num)
    4. except TypeError as e:
    5. print(f"Error: {e}")
  4. FileNotFoundError:指定的文件不存在。
    案例

    1. try:
    2. with open("non_existent_file.txt", "r") as f:
    3. content = f.read()
    4. except FileNotFoundError as e:
    5. print(f"Error: {e}")
  5. KeyError:字典中找不到指定的键。
    案例

    1. try:
    2. my_dict = {"name": "John", "age": 30}
    3. value = my_dict["country"] # KeyError: 'country'
    4. except KeyError as e:
    5. print(f"Error: {e}")
  6. IndexError:列表、元组或其他序列的索引超出范围。
    案例

    1. try:
    2. my_list = [1, 2, 3]
    3. value = my_list[4] # IndexError: list index out of range
    4. except IndexError as e:
    5. print(f"Error: {e}")
  7. TypeError:在不同数据类型间进行操作可能会引发错误。
    案例

    1. try:
    2. str_num = "123"
    3. int_num = int(str_num) + 5 # TypeError: can only concatenate str (not "int") to str
    4. print(int_num))
    5. except TypeError as e:
    6. print(f"Error: {e}")
  8. AttributeError:在对象上查找不存在的属性时,会引发这个错误。
    案例

    1. class Person:
    2. def __init__(self, name):
    3. self.name = name
    4. try:
    5. obj = Person("Alice")
    6. print(obj.age) # AttributeError: 'Person' object has no attribute 'age'
    7. except AttributeError as e:
    8. print(f"Error: {e}")
  9. RecursionError:当递归调用超过Python语言规定的限制时,会引发这个错误。
    案例

    1. def factorial(n):
    2. if n == 0:
    3. return 1
    4. else:
    5. return n * factorial(n - 1))
    6. try:
    7. result = factorial(5)
    8. print(result)
    9. except RecursionError as e:
    10. print(f"Error: {e}")
  10. SystemError:在Python解释器遇到无法解析的代码时,会引发这个错误。虽然它不是标准异常类型,但在某些情况下,它可能会被抛出。

以上就是Python中十种常见异常及其案例分析,希望对你理解和处理这些异常有所帮助。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,10人围观)

还没有评论,来说两句吧...

相关阅读