我目前正在研究Java中的學生項目(Android是具體的)。假設我有一個單擊按鈕時調用的函數。這個方法必須調用其他一些短的私有函數(返回true/false),以便檢查例如:用戶輸入的有效名稱,文件夾創建是否正常,文件是否被成功複製等等。在移動到另一個之前必須檢查這些東西活動。嘗試抓住而不是多個if語句
的方式來做到這一點是通過調用多個「IFS」與「迴歸」一旦有事,出了問題:
public void onClickButton(View view) { if(validData()) { showErrorMsg("Wrong input!"); return; } if(selectedFileExists()) { showErrorMsg("File does not exist!"); return; } if(createFolder()) { showErrorMsg("Error during folder creation!"); return; } (...) }
它不壞,但我想以取代那些短布爾函數拋出其在onClickButton(釣到異常void的方法),例如:
public void onClickButton(View view) { try { validData(); selectedFileExists(); createFolder(); (...) } catch (MyException e) { showErrorMsg(e); return; } } private void createFolder() throws MyException { if(!projectFolder.mkdir()) throw new MyException("Error during folder creation!"); }
那麼你對第二種方法有什麼看法?在這種情況下使用例外是否可以接受?
一般來說,在例外的情況下應該使用'Exception(s)'。你對基元的測試會更快。 – 2014-10-20 20:08:43
是的,這是爲此設計的例外正是你應該如何使用和例外。 – brso05 2014-10-20 20:09:18