通常のプログラミングスタイルでは、ロジックは文で構成され、各行は1行です。例えば流暢なスタイルコードをデバッグするとき、どのチェーンメソッドが失敗するかを見つける方法は?
statement A;
statement B;
statement C;
...
バグが発生すると、コンパイラは失敗した文の行番号を通知します。この狭い範囲で簡単にデバッグできます。
しかし、流暢なスタイルコード(JavaストリームAPIなど)が使用されているため、ロジックの長いブロックは、チェーンメソッドの形式で1つのステートメントに書き込まれます。たとえば、次のように
methodA()
.methodB()
.methodC()
.methodD()
....
障害が発生した場合、メソッドが失敗したチェーンこれに絞り込むための良い方法は何ですか?私の懸念は、コンパイラのデバッグヒントには行番号しかないが、チェーンブロック全体がこの1行のステートメントに含まれているため、デバッグにはあまり役に立ちません。
スタックトレースにはメソッド名も表示されるため、例外が発生したメソッドA、B、C、Dが一意に識別されます。同じメソッドを複数回呼び出さない限り、たとえ個々の回線の代わりに1つの物理回線にコールがあっても問題になります。 – AJNeufeld