例外スタックトレースを印刷する必要がありますか?
-
03-07-2019 - |
質問
例外のスタックトレースを取得するのはどれほど非効率ですか?私はそれが高価だと知っていますが、どれほど費用がかかりますか?本番環境では絶対に使用しないでください ?
解決
実稼働環境では、ユーザーが技術サポートに連絡するときにスタックトレースを見つけられるように、スタックトレースをログすると便利です。理解可能な(一般的なユーザーによる)メッセージの代わりにスタックトレースを印刷することは避けてください。
コードの例外ブロックの効率について心配するべきではありません。ここでは、エラー回復が最も重要です。
他のヒント
クリティカルパスに例外がある場合、パフォーマンスの問題はすでに発生しています。スタックトレースを取得して例外を追跡するのは、 crucial 、IMOです。
私の質問は、なぜ何かが予想外に間違ったのにパフォーマンスを気にしているのですか?この時点で、アプリケーションの健全性が問題になっているので、誰が高速かを気にしますか?
請求書のポイントは本当にお金の問題であり、コメントを追加しましたが、ここにも回答を追加したいです。
実稼働環境では、公開サイトでは、ユーザーにスタックトレースを決して印刷しません。発生したエラーの性質に応じて、スタックトレースには安全な情報(データベース名など)を漏らす可能性のある情報が含まれる可能性があります
これと同じルールがエラーメッセージにも適用されます。
通常、スタックトレースは、他の部分または他のシステムに大きく依存しているシステムの一部で発生する可能性があることがわかっている場合にのみ、印刷または保存します。これは、エラーが断続的であり、環境の状態に大きく依存している可能性があるため、統合の原因となる部分には特に当てはまります。