私のAndroid Studioはデフォルトで例外を発生させたくないようです。 「任意の例外」でブレークを有効にすると、実際のJDEライブラリ内でブレークが開始されます。私のコード内の例外でのみブレークするように強制する方法はありますか?
Visual Studioユニバースから来て、ここでデフォルトのVSデバッグ動作を探します。
キャッチまたはキャッチされていないすべての例外を解除するには:
!(this instanceof Java.lang.ClassNotFoundException)
com.myapp.*
(これをアプリの名前空間プレフィックスに置き換えます)Java.*
(注:OPの質問により、Javaライブラリで中断しないようにこれを省略してください)Android.*
(上記のように、独自のアプリコードをデバッグするために省略します)[ブレークポイント]ウィンドウを開くと、条件付きでブレークするかどうかを選択できるオプションがかなりあります。ここで探しているのは「クラスフィルター」です。たとえば、Javaパッケージパスを使用してワイルドカード式を指定できます。一致するクラスから生成された例外に対してのみブレークします。
キャッチされていない場合、コード内のすべての例外およびその他の例外を解除するには:
このメソッドは、通常の操作中にランタイムがスローする例外タイプを除外します(例外ではありませんか?)。クラスフィルターは使用しません。フィルターが多すぎるためです。コードのバグにより、ランタイムクラスが例外をスローすることがよくあります(例:末尾を超えて配列リストにアクセスする)。
Java Exception BreakPoints/Any exceptionを有効にしますncaught例外のみ。
caught and uncaught例外のException (Java.lang)
クラスに新しいJava Exception BreakPointを追加します。 Conditionを有効にして、これに設定します。
!(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番目の「任意の例外」エントリを効果的に取得できます。)