2014-09-25 70 views
2

的只是發現甲骨文的網站爲例,他們使用System.exit()的,如果控制檯是== NULL,但我不明白爲什麼它比簡單的回報更好。 這裏的鏈接:http://docs.oracle.com/javase/tutorial/essential/regex/test_harness.htmlSystem.exit(1),而不是回報

+1

'System.exit(int)'將錯誤級別設置返回到運行進程的進程,這爲主叫方提供了在由於某種原因導致調用失敗時採取適當操作的機會... – MadProgrammer 2014-09-25 02:36:42

回答

3

exit(1)意味着你從系統退出並設置退出代碼= 1表示該程序的錯誤終止

return;將終止,退出代碼= 0,即應用程序,它給調用者裝置的程序成功


終止請參見

+1

yes,I理解它的情況下,一些相對複雜的應用程序,但由Oracle在這樣簡單的教程類使用它在我看來有點奇怪:) – skwisgaar 2014-09-25 03:02:32

+0

這是唯一的區別,可能代碼是從長期來自C++ – 2014-09-25 03:22:26

1

System.exit,如果你打電話給你的java程序允許用戶從一個bash腳本說,你想做出相應的反應,以Java程序的成功或失敗(1)可能是有用的。

1

System.exit將關閉所有執行的線程,關閉文件,釋放資源,等...它終止JVM。

然而,回報是通過在方法的執行線程使用,但如果使用system.exit,一個線程將不會再回來。所以它們是用於不同目的的兩種不同的東西。

,請參閱Java 7甲骨文文件link

0

語句使用的方法裏面來的吧。 System.exit(0)的任何方法被用來出來的方案。
System.exit(0)以最終方式終止程序。由於程序遇到一些錯誤,因此System.exit(1)終止程序。