自定义异常类python
时间: 2023-09-27 15:04:55 浏览: 43
在Python中,可以通过继承Exception类来创建自定义异常类。下面是一个示例:
```python
class MyException(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return self.message
```
在这个例子中,我们创建了一个名为MyException的自定义异常类,它继承了Python内置的Exception类。我们还为它定义了一个构造函数和一个__str__方法,以便在抛出异常时可以输出有用的信息。
使用自定义异常类时,可以像使用其他异常类一样使用它。例如:
```python
def divide(a, b):
if b == 0:
raise MyException("除数不能为0")
return a / b
try:
result = divide(10, 0)
except MyException as e:
print("发生了自定义异常:", e)
```
在这个例子中,我们定义了一个名为divide的函数,它接受两个参数并返回它们的商。如果第二个参数为0,则抛出一个自定义异常。在try块中调用divide函数,并在except块中捕获MyException异常并输出错误消息。
相关问题
python自定义异常类
Python自定义异常类可以通过继承Exception类来实现。下面是一个简单的例子:
```
class MyException(Exception):
def __init__(self, message):
super().__init__(message)
self.message = message
```
在自定义异常类中,通常需要重写__init__()方法,以便在抛出异常时传递异常信息。在这个例子中,MyException类继承了Exception类,并定义了一个自己的构造函数。通过调用super().__init__(message),来初始化父类中的异常信息。
定义好自定义异常类后,可以在程序中使用raise语句抛出异常对象来触发异常,如下面的例子:
```
try:
raise MyException("This is my exception")
except MyException as e:
print(str(e))
```
在这个例子中,我们使用raise语句抛出了一个MyException异常,程序会进入到except语句块中。在except语句块中,我们可以通过str(e)获取到异常的信息。
Python自定义异常类
Python中可以通过继承`Exception`类来自定义异常类。以下是一个示例:
```python
class CustomException(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return self.message
```
在上述示例中,`CustomException`是一个自定义的异常类,它继承自`Exception`类。我们通过重写`__init__`方法来接收异常的消息,并通过重写`__str__`方法来显示异常的消息。现在,我们可以使用这个自定义的异常类来抛出和捕获异常:
```python
try:
raise CustomException("This is a custom exception.")
except CustomException as e:
print(e)
```
在上述示例中,我们使用`raise`关键字抛出了一个`CustomException`异常,并且在`except`块中捕获并打印了异常的消息。