使用Integer.parseInt()语法错误[Java]尝试和捕获

use*_*867 0 java try-catch

我正在尝试制作一个简单的方法,测试是否提供String只包含数字,为此我尝试使用try和catch(只是学习它,我想练习使用它)我尝试parseInt()给定的String,如果有错误(不是数字),那么它将捕获它并返回false;

    public boolean checkNumber(String s){
    try(Integer.parseInt(s)){
        return true;
    }
    catch(Exception E){
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

它说我有一个错位的构造函数.

dav*_*rld 5

捕获正确的异常并将try check移动到块中而不是括号中.

 try {
       Integer.parseInt(s);
       return true;
    }
    catch(NumberFormatException e){
        return false;
    }
Run Code Online (Sandbox Code Playgroud)