当前位置: 首页 > 知识库问答 >
问题:

抛出命令在java中的应用

江衡
2023-03-14

我知道像这样的问题无处不在,但我读了很多关于这方面的东西,我仍然不能理解“抛出”命令是做什么的。我现在会更具体一些:

所以,我看到的一个例子是这个,有下面的代码

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();
}

}

现在,如果我从“ThrowsMethod”方法中删除“Throws NumberFormatException”,程序将以相同的方式运行,并且将给出相同的结果。实际上,我看到的每个带有throws命令的示例都是这样做的,所以我不能真正理解为什么要使用它。

我使用的是Eclipse IDE4.7.2版。

共有1个答案

储志业
2023-03-14

通常,您的函数在函数或return语句结束时退出。

但是,当函数到达throw语句时也可以退出。如果异常子类exception,则函数的调用方必须用try{}catch{}块包围函数调用。如果异常子类runtimeexception,您可以选择在try catch块中包围函数调用。

如果您查看NumberFormatException:https://docs.oracle.com/javase/7/docs/api/java/lang/NumberFormatException.html将看到它的子类RuntimeException。这意味着您的try-catch块是可选的。这两个程序的区别是:使用try-catch块,您将得到convertion error打印到控制台,没有它,您将看到完整的堆栈跟踪。这就是人们常说的“忍气吞声”。

 类似资料:
  • 我正在尝试使用 java 代码在 linux 上调用非 linux 命令。该命令所需的库已安装在我的 linux 机器上。这是我的java代码,它使用Runtime.getRuntime().exec()调用命令; 该命令从图像文件中读取边码并对其进行解码并在控制台上显示值。 当我在linux上运行此java代码时,我会遇到以下异常 部分例外情况如下: 命令:dmtxread-n /home/ad

  • 本文向大家介绍eclipse 中的javac命令与java命令,包括了eclipse 中的javac命令与java命令的使用技巧和注意事项,需要的朋友参考一下 eclipse中的javac命令与java命令 一、eclipse的javac命令:当eclipse对.java(源文件)文件进行保存操作时(快捷键ctrl+s),会执行javac命令。见上图,Default output folder(默

  • 问题内容: 首先,我已经看过几个文档,关于同一文档的stackoverflow问题。我在尝试运行命令时遇到了项目特定的问题: 从mac终端,我得到了所需的json格式数据。但是从Java代码运行相同的命令,控制台中出现Unauthorized 401错误。我的代码是: 我收到未经授权的401错误和一堆html标签。这似乎是一个重复性的问题,但我已经尝试了所有方法。我知道替代方法是使用http响应方

  • 问题内容: 我通常使用VisualVM对运行的Java应用程序进行概要分析,但它需要X才能在计算机上运行。 我知道我可以通过管理端口进行连接,但这将是一个脱机的概要分析,对我来说还不够。 因此,我正在寻找一种解决方案,可以通过命令行分析正在运行的Java应用程序方法的CPU使用率。对于我来说,在服务器上收集数据就足够了,然后可以在另一台计算机上分析收集的数据。 更新: 看来我需要更具体。我想从命令

  • 我有一个简单的安装大口liveload: gulp assert.js:42抛出新错误^ AssertionError[ERR_ASSERTION]:必须在Gulp.set指定任务函数[作为_setTask](c:\testjs6\node_modules\undertaker\lib\set-task.js:10: 3)在Gulp.task(c:\testjs6\node_modules\und