請參考下面我的自定義異常文件(ExceptionHandler.java):我可以將多個異常類放在一個java文件中並根據需要調用它們嗎?
package utilities;
public class ExceptionHandler {
public void browserException() throws BrowserException {
new BrowserException();
}
public void userInputException() throws UserInputException {
new UserInputException();
}
public void timeOutException() throws TimeOutException {
new TimeOutException();
}
public void notFoundException() throws NotFoundException {
new NotFoundException();
}
}
//////////////////// Exception List Here ////////////////////
@SuppressWarnings("serial")
class BrowserException extends Exception {
public BrowserException() {
System.out.println("Unhandled Browser!");
}
}
@SuppressWarnings("serial")
class UserInputException extends Exception {
public UserInputException() {
System.out.println("Invalid user-input!");
}
}
@SuppressWarnings("serial")
class TimeOutException extends Exception {
public TimeOutException() {
System.out.println("Script timed out!");
}
}
@SuppressWarnings("serial")
class NotFoundException extends Exception {
public NotFoundException() {
System.out.println("Element Not Found!");
}
}
我試圖把這種的ExceptionHandler類如圖所示,下面,但得到錯誤,如「類型爲void無異常可能拋出;異常類型必須是Throwable的子類「。
throw new ExceptionHandler().browserException();
請別人讓我知道,如果它是一種有效的方式。如果不是的話,那麼組合多個自定義異常類的最好方法是什麼?由於我是異常處理的新手,請耐心等待。
非常感謝!
您應該返回'新BrowserException',而不是扔在方法'browserException()'爲您的使用。或者在方法中拋出異常,並改變爲'new ExceptionHandler()。browserException()'不帶'throw'。 –