6

NetBeansでアプリケーションをデバッグしようとすると、次のエラーメッセージが表示されます。

java.io.WriteAbortedException:書き込みが中止されました。java.io.NotSerializableException:board.Board $ 1

デバッグの過程で、大きなオブジェクトを格納するファイルからの読み取りの過程で例外が発生したため、いくつかのクラスに「implementsSerializable」を挿入する必要がありました。注意が必要なクラスは例外メッセージから明らかであるため、これは難しくありませんでした。私を投げたのは、明らかに匿名の内部クラス「Board$1」です。問題の原因となっている「ボード」でソースを特定することはできません。これどうやってするの?

コードの詳細ではなくデバッグの練習の問題なので(私は思う)、それを含めていませんが、それが役立つ場合は簡単に追加できます。

4

2 に答える 2

5

Board$1で最初に検出された無名クラスBoard.javaです。例えば:

class Board {
  public static void main(String[] args) {
    new Object() {}; // Board$1
    new Object() {}; // Board$2
  }
}

Eclipse のような IDE を使用すると、これらの匿名クラスをアウトライン ビューで簡単に見つけることができます。NetBeans にも同様のビューがあると確信しています。

ここに画像の説明を入力

于 2012-10-17T10:24:31.023 に答える
4

IntelliJ (および Android Studio) では、Navigate->Class (Mac では ⌘-O) を選択して に貼り付けるとBoard$1、その内部クラスのコードに移動できます。

于 2015-12-08T00:22:12.273 に答える