我正在学习使用java,我想我已经知道C++的基础知识。但是,当我刚开始学习java时,我注意到的'hello world'程序的第一部分在主类中启动main函数时使用'throws exception'。为什么使用?我们在C++中做类似的事吗? int类型的main函数在C++中返回0类似的东西吗?为什么在java中抛出异常而在C++中抛出异常?
1
A
回答
2
在Java中,指定方法throws SomeException
意味着调用该方法的任何方法都必须捕获或自己抛出该异常。在主函数的情况下,这意味着您不必捕获直接在main方法中发生的任何异常,而是将它们传递到底层运行时,从而导致堆栈跟踪打印和程序退出。
1
这是不是,或者至少,我从来没有见过在Java中main
做到了这一点。我甚至不确定它是否合法。 (给定的Java 使用了异常的方式,它不应该是只有RuntimeException
和 Error
应该向外传播的main
。)
的Java倾向于过度使用异常;尤其是,在返回值更合适的情况下(例如 像不能打开文件之类的情况),它会使用例外 。在正确的 程序中,必须处理这些异常(就像在正确的 程序中,C++返回错误代码一样,或者在输入和 输出的情况下,必须处理流状态)。 Java使用 异常说明符来声明这些异常(并且只有 这些—没有必要在C++中声明将是 的异常)。
+0
我见过数百人,当然这是合法的。测试程序比比皆是。 – EJP
相关问题
- 1. 在Java中抛出异常
- 2. 在Java中抛出异常
- 3. 在Java中抛出自定义异常与在异常中抛出异常
- 4. 在C++中抛出异常异常
- 5. 在Java中抛出异常的方法抛出异常
- 6. System.out.println()不抛出异常,但System.in.read()抛出异常,为什么?
- 7. 为什么在.net 2.0中抛出null引用异常而不是无效的异常抛出异常(如:int)?
- 8. Java HSQL为什么抛出AbstractMethodError异常?
- 9. 为什么Java的抛出NumberFormatException异常
- 10. 为什么java抛出异常java.lang.ArrayIndexOutOfBoundsException:1
- 11. 魔术异常抛出抛出异常
- 12. 抛出异常抛出异常
- 13. JSONEncoder.encode在Swift中抛出什么异常?
- 14. Java:抛出异常
- 15. 为什么在这里抛出异常?
- 16. C++异常抛出
- 17. C#抛出异常
- 18. C#抛出异常
- 19. parseuser.SignUpAsync()抛出什么异常?
- 20. 什么是抛出异常
- 21. jsoup.element.select()抛出什么异常?
- 22. Newtonsoft.Json.DeserializeObject抛出什么异常?
- 23. 在HttpRequest.GetResponse中抛出异常
- 24. 在pimcore中抛出异常
- 25. 抛出异常不抛出
- 26. 为什么Spring在Hibernate抛出ObjectNotFoundException异常时不抛出DataAccessException?
- 27. 异常抛出WCF而不抛出异常
- 28. 什么时候抛出java异常
- 29. 异常抛出异常
- 30. 抛出异常
阅读关于[** exceptions **]的教程(http://docs.oracle.com/javase/tutorial/essential/exceptions/)。 – Maroun
由于C++异常被破坏?在C++中从main返回与在C中一样,它设置程序的返回值并退出。 – Dan
如果返回之前发生异常,该怎么办? :) –