[英]java catching exceptions
try {
if (x.length == Styles.size()) {
}
else{
throws InputMismatchException ;
}
} finally {
OutputFileScanner.close();
}
我在上面包含代码的方法中出现编译错误,是否可以在else块中抛出InputMismatchException?
您需要使用new
关键字:
throw new InputMismatchException();
方法主体中没有“抛出”声明。 如果您只想抛出Exception,请按以下方式声明:
public void method() throws InputMismatchException{
if(...) {...
OutputFileScanner.close();
}
else{
OutputFileScanner.close();
throw new InputMismatchException("Uh oh");
}
}
此处无需使用try语句。 调用method()时,将使用以下内容:
try{
method();
} catch (InputMismatchException ime){
//do what you want
}
希望有帮助!
声明抛出异常的方法。
因为OutputStream.close()
抛出IOException
您也需要抛出该异常:
void myMethod() throws InputMismatchException, IOException {
// your code, except
throw new InputMismatchException();
}
当您引发异常时,则无需尝试最终捕获它。 当您捕获异常时,最后尝试catch是必要的。 尝试以下-
if (x.length == Styles.size()) {
}
else{
throw new InputMismatchException() ;
}
您要创建该异常的实例,然后将其抛出。 throws
用作方法声明的一部分,而不是实际引发异常。
if (x.length == Styles.size()) {
}
else{
throw new InputMismatchException();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.