在java中尝试捕获和投掷之间的区别

2022-08-31 14:18:28

try-catch 和 throw 子句有什么区别。何时使用这些?

请让我知道.


答案 1
  • 该块将执行可能引发异常的敏感代码try
  • 每当在 try 块中引发异常(捕获的类型)时,将使用该块catch
  • 在每种情况下,在 try/catch 块之后都会调用该块。即使未捕获异常,或者以前的块中断了执行流。finally
  • 关键字将允许您引发异常(这将中断执行流,并且可以在块中捕获)。throwcatch
  • 方法原型中的关键字用于指定方法可能引发指定类型的异常。当您已选中不希望在当前方法中捕获的异常(必须处理的异常)时,此功能非常有用。throws

资源:


另一方面,你应该真正接受一些答案。如果有人遇到和你一样的问题,发现你的问题,他/她会很乐意直接看到问题的正确答案。


答案 2

如果执行以下示例,您将知道 Throw 和 Catch 块之间的区别。

一般而言:

捕获块将处理异常

throws 会将错误传递给他的调用方。

在下面的示例中,错误发生在 throwsMethod() 中,但在 catchMethod() 中处理。

public class CatchThrow {

private static void throwsMethod() throws NumberFormatException {
    String  intNumber = "5A";

    Integer.parseInt(intNumber);
}

private static void catchMethod() {
    try {

        throwsMethod();

    } catch (NumberFormatException e) {
        System.out.println("Convertion Error");
    }

}

public static void main(String[] args) {
    // TODO Auto-generated method stub

    catchMethod();
}

}