回答:
キャッチまたはキャッチされないすべての例外を破るには:
!(this instanceof java.lang.ClassNotFoundException)
com.myapp.*
(これをアプリの名前空間プレフィックスに置き換えます)java.*
(注:OPの質問に従って、Javaライブラリで中断しないように、これは省略してください)android.*
(上記のように、自分のアプリコードをデバッグするだけにしてください)org.junit.*
「ブレークポイント」ウィンドウを開くと、条件付きでブレークするかしないかを選択するためのかなりのオプションが提供されます。ここで探しているのは、ここでの「クラスフィルター」です。たとえば、Javaパッケージパスなどでワイルドカード式を指定できます。これは、一致するクラスから生成された例外に対してのみ機能します。
コード内のすべての例外と、キャッチされなかった場合のその他の例外を解除するには:
このメソッドは、ランタイムが通常の操作中にスローする例外タイプをフィルタリングします(それほど例外的ではありませんか?)。フィルターしすぎてしまうため、クラスフィルターは使用しません。コードのバグにより、ランタイムクラスが例外をスローすることがよくあります(たとえば、配列リストの最後を過ぎてアクセスするなど)。
Java Exception BreakPoints / Any Exception for キャッチされていない例外のみを有効にします。
キャッチされた例外とキャッチされていない例外のクラスに新しいJava Exception BreakPointを追加します。条件を有効にし、次のように設定します。Exception (java.lang)
!(this instanceof java.lang.ClassNotFoundException || this instanceof android.system.ErrnoException || this instanceof java.io.FileNotFoundException || this instanceof javax.net.ssl.SSLHandshakeException || this instanceof javax.net.ssl.SSLPeerUnverifiedException || this instanceof android.system.GaiException || this instanceof java.net.SocketTimeoutException || this instanceof java.net.SocketException || this instanceof java.security.NoSuchAlgorithmException)
発生するその他の例外的でない例外を条件の除外リストに追加します。(ところで、使用java.lang.Exception
は2番目の「すべての例外」エントリを効果的に取得する方法です。)