自定义一个异常类MyException(继承Exception),重写父类中的toString方法,做测试,创建一个MyException对象,抛出
时间: 2024-05-12 16:13:05 浏览: 146
下面是自定义异常类MyException的代码:
```python
class MyException(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return f"MyException: {self.message}"
```
我们重写了父类中的`__str__`方法,使得在抛出异常时可以输出更加有用的信息。
接下来,我们可以测试一下这个自定义异常类:
```python
try:
raise MyException("这是一个自定义的异常")
except MyException as e:
print(e)
```
输出结果为:
```
MyException: 这是一个自定义的异常
```
可以看到,我们成功地抛出了一个自定义的异常,并且输出了我们定义的错误信息。
相关问题
异常中的toString方法’
在Java中,异常类都继承自Throwable类,而Throwable类中有一个toString()方法。当一个异常对象被抛出时,Java会自动调用该异常对象的toString()方法来打印异常信息。
该方法返回一个字符串,包含异常的类型和详细信息。例如:
```
java.lang.NullPointerException: Value cannot be null
```
其中,java.lang.NullPointerException表示异常的类型,Value cannot be null为详细信息。
可以重写toString()方法来自定义输出异常信息。例如:
```java
public class MyException extends Exception {
private String message;
public MyException(String message) {
this.message = message;
}
@Override
public String toString() {
return "MyException: " + message;
}
}
```
这里自定义了一个MyException异常,并重写了toString()方法,使得在抛出该异常时,输出的信息为"MyException: "加上自定义的详细信息。
java自定义异常类实验
Java中的异常是指在程序运行过程中出现的错误或异常情况。Java提供了一些内置的异常类,如NullPointerException、ArrayIndexOutOfBoundsException等。除此之外,Java还允许用户自定义异常类来处理特定的异常情况。
自定义异常类需要继承自Exception或其子类,通常包含以下几个部分:
1. 构造方法:用于创建异常对象。
2. getMessage()方法:用于获取异常信息。
3. toString()方法:用于返回异常的字符串表示形式。
下面是一个简单的自定义异常类的示例:
```
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
@Override
public String getMessage() {
return "MyException: " + super.getMessage();
}
@Override
public String toString() {
return "MyException: " + super.getMessage();
}
}
```
在上面的示例中,我们定义了一个名为MyException的自定义异常类,它继承自Exception类。该类包含一个构造方法,用于创建异常对象,并重写了getMessage()和toString()方法,以便获取异常信息和返回异常的字符串表示形式。
使用自定义异常类时,可以像使用内置异常类一样使用它。例如:
```
public class Test {
public static void main(String[] args) {
try {
throw new MyException("This is my exception.");
} catch (MyException e) {
System.out.println(e.getMessage());
System.out.println(e.toString());
}
}
}
```
在上面的示例中,我们在try块中抛出了一个MyException异常,并在catch块中捕获并处理该异常。输出结果为:
```
MyException: This is my exception.
MyException: This is my exception.
```
这说明我们成功地创建了一个自定义异常类,并成功地使用它来处理异常情况。
阅读全文