我正在學習使用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
如果返回之前發生異常,該怎麼辦? :) –