最近,我可以在一些代碼,讓我有些迷惑:不同的使用情況
我一直的印象是,這樣做的回報這種方式是不好的做法下。首先,除了查看日誌以外,沒有辦法知道是否有問題。我問了一下,普遍的觀點似乎是拋出一個異常會導致錯誤的代碼,因爲人們可能會發現異常並且無所作爲。這真的是不引發異常的好理由嗎?如果是這樣,有沒有其他辦法可以處理?
public void checkThisOut() {
String str = null;
str = someMethodThatCanReturnNull();
if(str == null) {
//log error
return;
}
}
另一個例子如下:在這種情況下,break和return有什麼區別?一個比另一個更好嗎?
public void update() {
List<Object> objects = SomeClass.findObjects();
for(Object o : objects) {
if(o.getSomething().equals("some value")) {
o.doSomething();
return;
}
}
}
對於第一個示例,返回null的內容並不一定表示發生了錯誤的錯誤。它可能只是用來表示一些東西。在第二個例子中,他們會有相同的行爲。如果它是一個2D循環,則會有所不同。 – Carcigenicate
對於爲什麼投擲不好的解釋是可怕的。適當時投擲。不要避免這樣做,因爲某些麻煩的牛仔可能會誤用「catch」。 – Carcigenicate
@Carcigenicate在第一個例子中發生了一些不好的事情 - 我應該讓這個更清楚,對不起。感謝您的回答 – BigBug