创建ArrayIndexOutOfBoundsException的子类对象,使用super传递父类构造函数后,使用getMessage无法获取信息
时间: 2024-03-23 11:40:50 浏览: 59
实例解析如何正确使用Java数组
如果你创建了ArrayIndexOutOfBoundsException的子类,并在子类中重写了getMessage()方法,但是在子类中调用getMessage()方法无法获取到异常信息,可能是因为你没有在子类中正确地调用父类的构造函数。
当你在子类中重写了getMessage()方法时,如果你希望能够获取到异常信息,需要在子类的构造函数中使用super语句调用父类的构造函数,以便将异常信息传递给父类。例如:
```
public class MyArrayIndexOutOfBoundsException extends ArrayIndexOutOfBoundsException {
public MyArrayIndexOutOfBoundsException(int index) {
super("Index: " + index + ", Size: " + size);
}
@Override
public String getMessage() {
return "MyArrayIndexOutOfBoundsException: " + super.getMessage();
}
}
```
在这个例子中,子类MyArrayIndexOutOfBoundsException重写了getMessage()方法,并在构造函数中使用了super语句调用父类的构造函数,将异常信息传递给了父类。当你在程序中使用MyArrayIndexOutOfBoundsException的对象并调用getMessage()方法时,就可以获取到正确的异常信息了。
阅读全文