繁体   English   中英

Java捕获异常

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM