我正在学习使用java,我想我已经了解了C ++的基础知识。但是,当我刚开始学习java时,我注意到的'hello world'程序的第一部分在主类中启动main函数时使用'throws exception'。为什么用它?我们在c ++中做类似的事情吗?在c ++中的int类型main函数中返回0是类似的事情吗?
答案 0 :(得分:2)
在Java中,指定方法throws SomeException
意味着调用该方法的任何方法都必须捕获或自己抛出该异常。在main函数的情况下,它只是意味着您不必捕获可能直接在main方法中发生的任何异常,它们将被传递到底层运行时,从而导致堆栈跟踪打印和程序退出
答案 1 :(得分:1)
不是,或者至少,我从未见过Java中的main
做到了。我甚至不确定它是否合法。 (鉴于Java的方式
使用例外,它不应该。只有RuntimeException
和
Error
应该传播出main
。)
Java倾向于过度使用异常;特别是,它使用例外 在返回值更合适的情况下(例如 像无法打开文件的事情)。在一个正确的 程序,必须处理这些异常(正如正确的那样) 程序,C ++返回错误代码,或者输入和 输出,流状态,必须处理)。 Java使用 异常说明符来声明这些异常(并且只是 这些 - 没有必要声明会发生的事情 C ++中的一个例外)。