请参考下面我的自定义异常文件(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'。 –