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