0

これは、キャッチされていない例外でスタック トレースを取得する方法を説明しています。

キャッチされていない例外で OCaml にスタック トレースを生成させることはできますか?

プロダクションコードでそれを行うことは可能ですか? さらに便利なことに、未処理の例外をログに記録して続行することは可能ですか (たとえば、Web システムの場合は他の Web 要求で)?

4

1 に答える 1

-1

おそらく詳細が十分でないため、あなたの質問に答えるのは難しいです。

(不特定の) キャッチされていない例外の後に再開する際の問題は、プロセス コンテキストのどれだけが適切であるかが明確でないことです。プロセスを失敗させて(そして終了させて​​)、より高いレベルの制御プロセスに新しいプロセスを開始させる方がはるかに良いようです。

これらの失敗が頻繁に発生するとは思わない場合 (そうであることを願っています)、これが元のプロセスで作業を続行するよりも遅いことはあまり問題ではありません。

これを行うと、スタック トレースは失敗したプロセスの標準エラーに移動します。制御プロセスはそれを取得し、ログにうまくパッケージ化できます。

私はこのようなシステムを (OCaml ではなく) 構築しましたが、うまく動作します。それらがどれだけうまく機能するかは、多くの要因に依存するため、検討する価値があることを示唆することしかできません.

于 2015-06-30T02:30:25.570 に答える