セクションで使用例外にする場合で実用的プログラマー、代わりのブックへの書き込み:
retcode = OK;
if (socket.read(name) != OK) {
retcode = BAD_READ;
}
else {
processName(name);
if (socket.read(address) != OK) {
retcode = BAD_READ;
}
else {
processAddress(address);
if (socket.read(telNo) != OK) {
retcode = BAD_READ;
}
else {
// etc, etc...
}
}
}
return retcode;
、 彼らは好む:
retcode = OK;
try {
socket.read(name);
process(name);
socket.read(address);
processAddress(address);
socket.read(telNo);
// etc, etc...
}
catch (IOException e) {
retcode = BAD_READ;
Logger.log( "Error reading individual: " + e.getMessage());
}
return retcode;
見た目がすっきりしているからです。私はすべてコードがすっきりしていますが、例外を不必要にキャッチすることがパフォーマンスのボトルネックになりませんか?
きちんとしたコード(少なくとも99%の時間)のごくわずかな最適化をあきらめる必要があることは理解できますが、私が知っていることから、例外の捕捉は、実行時に顕著な遅延があるコードのクラスに属しています。したがって、最初のコードよりも2番目のコードが優先される理由は何なのかと思っていました。
または、どちらのコードを使用しますか?