問題タブ [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 投票する
3 に答える
6269 参照

android - UnCaughtExceptionHandlerにトーストが表示されない

このコードを使用して、アプリケーションがクラッシュする可能性のあるキャッチされない例外を処理しています。

既知であるがキャッチされていない例外(テストのため)で実行すると、アクティビティ「CrashActivity」が呼び出されますが、トーストは表示されません。

実際、Toastのみを表示してから、myContext.finish();を呼び出したいと思いました。CrashActivityに行く代わりに。しかし、そのトーストは見えません。

私はどこが間違っていますか?

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

java - Java:謎のJavaキャッチされていない例外ハンドラー[コード付き]

何か奇妙なことが起こった。私はJavaプログラムを作成しましたが、キャッチされなかった例外を特別な方法で処理するために何もしていません。しかし、この1つの特定のプログラムをWindows 7で実行すると、mainから呼び出された静的コンテキストでこのキャッチされない例外が発生し、ウィンドウがポップアップして例外が表示されます。私はこの効果を無駄に複製する小さなプログラムを書こうとしました。1つのプログラム(私は完全に手作業で作成しました)はポップアップを生成しますが、他のプログラムは同じことをしません。

特にこれを追跡して、他のCAUGHT例外が同様の方法でスタックトレースを表示するようにするコードを追加できるようにしたいと思います。

私はIRCでこれについて尋ねましたが、人々はこれは起こらないと私に言います。まあ、それは起こりました。以下にスクリーンショットがあります。

私の唯一の希望は、誰かがこれを認識し、それがどこから来たのかを教えてくれるかどうかだと思います。

ありがとう!

Java例外

更新:コードの取得が遅れて申し訳ありません。私は疝痛のある乳児に付き添わなければなりませんでした。これはデスクトップJavaアプリであることに注意してください。これはアプレットではなく、webstartを使用しません。

これは、ダイアログを取得するプログラムからコピーして貼り付けたコードです。別の編集を行って、私の同僚(例外を取得した人)がこの場合のダイアログを取得するかどうかを通知します。私は例外に至るまでのすべてを含めるように注意してきました。IPAddressクラスの実装のみが欠落していますが、例外が発生するまで実際には使用されないため、例外には関与しません。例外が発生する行の前のアスタリスクに注意してください。このコード行は、スクリーンショットに表示されている例外に対応しています。

2回目の更新:私の同僚は、このプログラムがダイアログを生成しないと報告しています。これとポップアップを取得するプログラムの唯一の違いは、ポップアップを取得するプログラムがAdvancedInstallerによって生成されたexeラッパーから起動されることです。その上、Javaプログラム内では、実行の順序は同じです。私はこれをグーグルで検索しましたが、私が知る限り、AdvancedInstallerはこのポップアップが生成される結果となるようなことは何もしていません。これを実現するためにJavaプログラムの外部から何かを実行できるかどうかわからないため、Javaプログラムを変更せずに実行できるかどうかはわかりません(変更しません)。おそらくstderrをキャプチャすることを除いて、それはAdvancedInstallerによってラップされた他のプログラムがなぜしないのかを説明していません。

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

android - アクティビティがクラッシュした後、Androidはバックグラウンドサービスを停止します

はじめに、下手な英語でお詫び申し上げます。

私の問題があります:

アクティビティが実行されているときにバックグラウンドで実行されるAndroidのサービスがあります。(このサービスは、指定された時間間隔でユーザー データをサーバーと同期します)。

そして、onCreateMethod のアクティビティから開始されます。このアクティビティは、Thread.UncaughtExceptionHandler を実装し、onCreate メソッドに登録して、アクティビティ内のすべての予期しない例外をキャッチします。アクティビティ内の何かで例外メソッド uncaughtException が呼び出され、サービスが stopService(serviceIntent); で停止する必要がある場合。しかし、サービス中の onDestoy は呼び出されません。しかし、アクティビティの onDestroy メソッドが呼び出されると (ユーザーがボタンを押して戻る)、サービスが正常に停止し、CService の onDestroy が呼び出されます。

アクティビティがクラッシュしたら、バックグラウンド サービスを停止する必要があります。Android がアクティビティを閉じて、スタック (ログイン画面) で前のアクティビティを開始すると、ユーザーがログに記録されなくなります。

提案をありがとう。

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

java - Java uncaughtExceptionHandler が機能しない

いくつかの例外をランタイム例外でラップするグローバル例外ハンドラー ルーチンがあります。

このような

クラスにはExceptionHandler静的コンストラクターもあります

問題は、RTE を投げた後、 に入らないことUncaughtExceptionHandlerです。なんで?

ところで、私の Android プログラムにはメインがないため、メイン メソッドに入れることはできません。

0 投票する
0 に答える
634 参照

android - キャッチされていない例外がある場合、アプリを終了する方法は?

キャッチされない例外がある場合、アプリを終了したい。そのために私は and を使用しSystem.exit(10)Process.killProcessいます (これらのメソッドを呼び出すのは良い習慣ではないことはわかっています)。私のコードは次のとおりです。

しかし、このコードの問題は、終了メソッドを呼び出した後、アプリケーションが再び再起動することです (アプリのホーム アクティビティが開始されます)。例外が発生したら、アプリを再起動したくありません。この問題を解決するために、もう 1 つの方法を試しました。

この後、私は私のHomeActivity. このコードを実行した後、アプリケーションがまったく終了せず、黒い画面が表示されます

exit メソッドを使用するか、すべてのアクティビティを終了して、アプリケーションを強制終了するにはどうすればよいですか?

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

java - カスタム例外エラー ポップアップを表示する

を使用してアプリケーションを拡張するクラスでカスタム例外ハンドラーを作成し、Thread.setDefaultUncaughtExceptionHandlerキャッチされなかった例外のスタック トレースをファイルに出力しました。デフォルトの「残念ながら、[アプリケーション] が停止しました」というメッセージではなく、カスタム エラー ポップアップをユーザーに表示したいと思います。

次のメソッドは、クリックするとメイン メニューに戻る AlertDialog を作成します。バックグラウンド スレッドでも実行できます。

ただし、AlertDialog では、現在のアクティビティがわかっている必要があります。このメソッドを例外ハンドラーで使用するには、各アクティビティのonResume()メソッドでリセットされる現在のアクティビティへのポインターを Application クラスに保持できますが、メモリ リークが心配です。

キャッチされていない例外がスローされたときに AlertDialog を表示する好ましい方法は何ですか?

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

android - uncaughtexceptionhandler を使用して次のコード ブロックに移動できますか?

uncaughtexceptionhandler を使用して、例外を無視して先に進むことはできますか? できれば、そのハンドラをどのように書くのですか?

例えば:

ご清聴ありがとうございました