如何自定义异常类型并在trycatch中抛出

avatar
作者
猴君
阅读量:0

在Python中,您可以通过创建一个新的异常类来自定义异常类型。这个新的异常类应该继承自内置的BaseException类或其子类Exception。在try-catch语句中抛出自定义异常,需要使用raise关键字。下面是一个示例:

# 自定义异常类 class MyCustomError(Exception):     def __init__(self, message):         self.message = message      def __str__(self):         return f"MyCustomError: {self.message}"   def test_function(value):     if value < 0:         raise MyCustomError("Value cannot be negative")     return value * 2   try:     result = test_function(-5) except MyCustomError as e:     print(e) else:     print(f"The result is {result}") 

在这个示例中,我们创建了一个名为MyCustomError的自定义异常类,它继承自Exception类。我们重写了__init__方法和__str__方法,以便在引发异常时显示自定义错误消息。

然后,在test_function函数中,我们检查输入值是否为负数。如果是负数,我们使用raise关键字抛出MyCustomError异常。

最后,在try-catch语句中,我们调用test_function并捕获MyCustomError异常。如果捕获到异常,我们打印异常信息;否则,我们打印计算结果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!