問題タブ [uncaughtexceptionhandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
700 参照

c# - この UnhandledException イベント ハンドラーが機能しないのはなぜですか?

例外後にコードを実行できません。印刷中です

ccccc

しかし、印刷されません

AFTER_EXCEPTION

コードはキャッチされた例外を示しており、その後存在します。

0 投票する
2 に答える
927 参照

ios - カスタム NSUncaughtExceptionHandler 呼び出し前の例外ハンドラー

NSSetUncaughtExceptionHandler私のアプリには、クラッシュをキャッチするために使用するクラッシュ レポート ライブラリが含まれています。クラッシュ レポートの実装の前後に、カスタム アクション (ログ クラッシュと表示アラート ビュー) を実装する必要があります。この動作を実現するには、まず を使用して以前の UncaughtExceptionHandler への参照を保持しNSGetUncaughtExceptionHandler()、カスタム例外ハンドラーとシグナル ハンドラーを登録します。カスタム ハンドラーで、カスタム アクションの前/後に前のハンドラーを実行しようとしましたが、これにより、previousHandler(exception) のシグナル SIGABRT がスローされます (両方の場合)。コード例は次のとおりです。

  1. シグナルをスローせずに前のハンドラーを実行するにはどうすればよいですか?
  2. SignalHandlerシステムがシグナルをスローしたときに呼び出されない理由はありますか?
0 投票する
1 に答える
100 参照

android - Android - UncaughtExceptionHandler : 実行を完了するまでの最大時間

UncaughtExceptionHandler が MainThread で実行され、すべての未処理の例外を処理することを理解しています。スロー可能な情報とスレッド情報をファイルに書き込もうとしていますが、これはメインスレッドでのみ行う必要があります。IO操作は比較的時間がかかり、高価な操作であるため、そうすることでAndroidでANRがスローされる可能性があることを懸念しています。

キャッチされていない例外ハンドラの実行中にメインスレッドが待機できる最大時間制限は?

0 投票する
1 に答える
2128 参照

javafx - JavaFX:開始メソッドが失敗したときにエラーダイアログを表示する方法は?

JavaFX アプリケーションで、予期しない例外が発生するたびにエラー ダイアログを表示してアプリを終了したいと考えています。だから私のメインメソッドでは、アプリを起動する前にデフォルトのキャッチされていない例外ハンドラーを設定しました:

説明: キャッチされていない例外ハンドラーが JavaFX アプリケーション スレッド (FXAT) で実行されると、ダイアログを表示するためのコードを実行するだけです。もちろん、例外ハンドラが FXAT によって呼び出されない場合、これは機能しません。この場合、コードを FXAT にプッシュする必要があります。しかしPlatform.runLater、ダイアログが表示される前にアプリが終了するため、使用できません。runAndWaitそこで、ランナブルを 経由で内部的にプッシュするカスタム メソッドを作成しましたPlatform.runLaterが、ランナブルの実行まで待機します (カウントダウン ラッチ メカニズムを使用)。

これに関する問題: start() メソッドで例外が発生すると、アプリが動かなくなります。ダイアログが表示されるまで待機しようとしますが、FXAT は決してこの実行を行いません。これは、start() メソッドが例外で失敗した場合、FXAT が死んでいるからだと思いますか? これが start() メソッドの特殊なケースなのか、それとも例外がスローされ、FXAT によって実行されるコード内でキャッチされない場合に発生するのかはわかりません。

私が知っているように、Swing では、EDT は複数のスレッドで構成される複雑なアーキテクチャです。EDT での実行の一部が失敗したときに Swing 全体が壊れたということはありませんでした。しかし、これは何が起こっているようですか?

ここで何ができますか?アプリケーションを起動できないことをユーザーに示すにはどうすればよいですか?

0 投票する
1 に答える
503 参照

java - Java UncaughtExceptionHandler は、JNI を使用して例外を取得していません

一連のタスクを実行する Java ライブラリがあります。そして、次を使用して、デフォルトのキャッチされていない例外ハンドラーを登録しました。

Thread.setDefaultUncaughtExceptionHandler(new JavaUncaughtExceptionHandler());

UncaughtExceptionHandler が実装されUncaughtExceptionHandler、エラー情報のみが に記録されSTDERRます。

私のJavaライブラリはC++コードからJNIを介して呼び出され、JNIはそれを呼び出しておりExceptionCheck()、C++でFATALとしてエラーをログに記録しています。

問題は:

実行時にRuntimeException、Java コードで (またはその他のキャッチされない例外) が発生すると、JavaUncaughtExceptionHandlerスレッドのデフォルトのキャッチされない例外ハンドラーとして登録されている代わりに、C++ でエラーがキャプチャされます。

  1. それは例外的な動作ですか?
  2. DefaultUncaughtExceptionHandler実際に呼び出されるのはいつですか?スレッドがシャットダウンする前に知っていますが、具体的には JNI の場合です。C++ に戻る前に呼び出されるか、C++ コードが終了した後にも呼び出されます)。JNIのスレッド管理に関係していると思いますので、関連情報も教えてください。
  3. とにかく、Javaコードですべての例外をキャッチできますか( try/catchブロックを置く以外の別の方法)

本当にありがとう。

0 投票する
1 に答える
405 参照

java - スレッドの DefaultUncaughtExceptionHandler が AlertDialog onClick() メソッドでスローされた例外をキャッチしない

UncaughtExceptionHandlerの現在のスレッドのデフォルトを設定し、ActivityのリスナーからonCreate()a をスローしましたが、例外はキャッチされません。また、 andから例外をスローしようとしましたが、キャッチされませんでした。ただし、またはからスローされるとキャッチされます。RunTimeExceptionAlertDialogonClick()onCreateOptionsMenu()onOptionsItemSelected()onCreate()onResume()

これが私の活動です:

そして、ここに私の例外ハンドラがあります:

アクティビティで作成したログ メッセージに基づいて、スレッドは と の場合と同じonCreate()ですonClick()

onClick()onCreateOptionsMenu()またはからスローされたときに例外がキャッチされないのはなぜonOptionsItemSelected()ですか?