在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
异常。如果捕获到异常,我们打印异常信息;否则,我们打印计算结果。