在Python中,自定义异常可以通过继承自Exception类来实现。下面是一个简单的自定义异常类的示例代码:
class CustomException(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return self.message
这里定义了一个名为CustomException的异常类,它继承自Python内置的Exception类。在自定义异常类中,一般需要至少实现两个方法:init()方法和str()方法。init()方法用于初始化异常对象,并传递错误信息;str()方法用于返回该异常的字符串表示。
在程序中使用自定义异常类时,可以像使用内置异常类一样使用它。例如,我们可以在程序中抛出一个CustomException异常,如下所示:
def foo(num):
if num < 0:
raise CustomException("输入的数字不能为负数!")
else:
print("输入的数字为:", num)
try:
foo(-1)
except CustomException as e:
print("捕获到自定义异常:", e)
在上述示例代码中,我们定义了一个名为foo()的函数,它接受一个数字参数。如果参数小于0,则会抛出我们自定义的CustomException异常,否则会正常输出该数字。在主程序中,我们调用foo()函数,并使用try-except语句来捕获CustomException异常并打印错误信息。
当我们运行上述程序时,输出如下:
捕获到自定义异常: 输入的数字不能为负数!
这表明程序成功地抛出了自定义异常并捕获了它。
总之,自定义异常在Python中非常容易实现,只需要继承自内置的Exception类并实现必要的方法即可。在程序中使用自定义异常可以方便地屏蔽细节错误并提高代码的可读性和可维护性。