Python的异常处理机制&自定义异常类

发布时间:2024年01月17日

异常处理是一种处理程序运行过程中可能发生的错误的机制。Python提供了try-except语句来捕获和处理异常。当程序运行过程中发生异常时,程序会立即跳转到最近的try-except块,并执行相应的异常处理代码。

以下是Python中异常处理的基本语法:

try:
    # 可能会出现异常的代码块
except ExceptionType:
    # 异常处理代码块

在上面的代码中,try块中包含可能会触发异常的代码。如果在执行try块的过程中发生了指定类型的异常,程序会跳转到except块,从而执行异常处理代码。

可以使用多个except语句来捕获不同类型的异常,并为每种异常类型编写相应的处理代码。也可以使用一个except语句来捕获所有类型的异常,而不指定具体的异常类型。

以下是一个示例:

try:
    num = int(input("请输入一个整数: "))
    result = 10 / num
    print(result)
except ZeroDivisionError:
    print("除数不能为0")
except ValueError:
    print("请输入一个有效的整数")
except:
    print("发生了未知的异常")

在上面的代码中,首先尝试将用户输入的字符串转换为整数。如果用户输入的不是一个有效的整数,则会触发ValueError异常。如果用户输入的是0,则会触发ZeroDivisionError异常。如果发生其他类型的异常,将会执行最后一个except块中的代码。

自定义异常类可以通过继承Exception类来创建。自定义异常类可以提供更多的信息,以帮助程序员更好地理解发生的异常。

以下是一个自定义异常类的示例:

class MyCustomException(Exception):
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return f"自定义异常: {self.value}"

try:
    raise MyCustomException("自定义异常测试")
except MyCustomException as err:
    print(err)

在上面的代码中,我们创建了一个名为MyCustomException的自定义异常类。在该类中,我们定义了构造函数和__str__方法,以便在抛出异常时能够提供一些额外的信息。然后,我们使用raise语句抛出自定义异常,并在except块中捕获并打印异常信息。

文章来源:https://blog.csdn.net/xukris/article/details/135643288
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。