我正在尝试创建自己的异常,但是遇到了问题...
class MyException extends Exception {
MyException (String w) { super ( w ); }
};
public class RozkladLiczby{
private int[] Array;
RozkladLiczby(int n) throws MyException {
try{
Array = new int[n+2];
}
catch(OutOfMemoryException ex){
throw new MyException ("Not enough memory" );
}
}
}
编译器说在catch中找不到符号。
RozkladLiczby.java:16: error: cannot find symbol
catch(OutOfMemoryException ex){
^
symbol: class OutOfMemoryException
location: class RozkladLiczby
1 error
最佳答案
这是因为Java中没有OutOfMemoryException
。有 OutOfMemoryError
。如果没有剩余的内存,那该怎么办?没有内存可以创建新的异常。这就是为什么它是Error
而不是Exception
的原因。