Bölümde Kullanım Exception içinde Pragmatik Programcı , kitap yazma yerine o:
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;
, onlar tercih eder:
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;
çünkü daha temiz görünüyor. Ben bütün Ancak bir performans darboğazı İstisnalar yakalamak gereksiz değildir, daha düzgün kod için?
Ben yiyen kodu (zamanların en az% 99) için minik optimizasyon vazgeçmek gerektiğini anlıyorum, ancak bildiğim kadarıyla, yakalama istisnaları çalışma zamanında belirgin bir gecikme olan kod sınıfına aittir. Bu nedenle, ikinci kod parçasının ilk kod yerine tercih edilmesinin gerekçesi olduğunu merak ediyordum.
Daha doğrusu, hangi kodu tercih edersiniz?