アプリケーションでディスクがいっぱいになるというエラーが発生し、何らかの理由でディスクがいっぱいになった結果、未処理の例外がスローされ、set_terminate()
ハンドラーが呼び出されました。
通常、ログ ファイルに何らかのスタック トレースが記録されるので、何が問題なのかを確認できますが、この場合、ディスクがいっぱいだったため、スタック トレースが記録されず、プログラムが原因で終了したことは明らかではありません。ディスク容量の不足。
ディスクに最後に書き込まれたものから私ができることを読むと、ディスクにstd::clog
移動するように設定されている(いっぱいになったもの)に書き込まれているようです。
operator<<
write toを使用すると例外がスローされる可能性があるかどうか疑問に思ってclog
います。もしそうなら、どの例外がスローされた可能性がありますか?
さらに、将来この状態が再発した場合にアプリケーションを更新して、ディスクがいっぱいであり、ディスクがいっぱいであったことを知ることができるように、アプリケーションを更新して正確に何が問題だったのかをより適切に追跡できるようにする方法についてのアイデアに興味があります。アプリケーションの他の欠点ではありません。
ただし、重要な問題は障害の検出であり、それがなければ、緩和方法のアイデアは役に立ちません。