我正在尝试创建自己的异常,但是遇到了问题...

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的原因。

10-01 02:35
查看更多