3

独自の例外を作成しようとしていますが、問題が発生しました...

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" );
        }
    }
}

コンパイラは、キャッチでシンボルが見つからないと言っています。

RozkladLiczby.java:16: error: cannot find symbol
    catch(OutOfMemoryException ex){
          ^


 symbol:   class OutOfMemoryException
  location: class RozkladLiczby
1 error
4

3 に答える 3

5

OutOfMemoryExceptionこれは、Javaには存在しないためです。ありますOutOfMemoryError。もし記憶が残っていなかったら、あなたは何ができますか? 新しい例外を作成するためのメモリがありません。それが であり、Errorではない理由Exceptionです。

于 2013-03-14T17:10:05.417 に答える
0

OutOfMemoryExceptionはありませんが、OutOfMemoryErrorがあります

于 2013-03-14T17:10:42.980 に答える
0

OutOfMemoryException :- OutOfMemoryException が MyException を拡張する例外である場合、カスタム例外がスローされます。カスタム例外は Exception クラスを拡張しているため、カスタム例外が try { } catch() { } ブロックでキャッチされる可能性はありません。

于 2013-03-14T17:22:26.530 に答える