我審查一個同事的代碼和我遇到類似這樣的一段代碼:是「拋出異常」不好的做法?
public X Foo1(Y y) throws Exception {
X result = new X(y);
result.Foo2();
return result;
}
我認爲沒有必要爲throws Exception
一部分,但我有困難證明這一。這可能是有道理的,如果它更具體Exception
(FileNotFound
,NoMemory
等),但因爲它是我認爲這是沒有必要的。有人能給我一些原因,這可能導致什麼問題,爲什麼這是不好的做法?或者這段代碼好嗎?
+1我可以想到幾個實際的原因,但是這個答案包含了所有這些。 – MByD