เมื่อใดก็ตามที่โปรแกรม Perl, Python, C ++ หรือ Tcl หยุดทำงานโดยมีข้อยกเว้นที่ไม่สามารถจัดการได้ runtimes ภาษาเหล่านั้นจะลงทะเบียนรหัสทางออกที่ไม่เป็นศูนย์สำหรับกระบวนการ แม้แต่โปรแกรมที่ใช้ Eclipse ก็จะคืนค่า 1 หากมันล้มเหลวระหว่างการเริ่มต้น อย่างไรก็ตามโปรแกรมที่ดำเนินการตามมาตรฐานจะjava.exe
กลับเป็นศูนย์อย่างมีความสุขไม่ว่าโปรแกรมจะจบลงอย่างกระทันหันเว้นแต่ว่าโปรแกรมนั้นเรียกใช้System.exit()
ด้วยค่าการออก แม้กระทั่งAssertionFailedError
หรือUnsatisfiedLinkError
ถูกรายงานกลับไปยังโปรแกรมการโทรให้ออกมาเป็นผลสำเร็จ
แน่นอนว่าไม่ใช่ทุกระบบที่มีรหัสส่งคืนโปรแกรม แต่ Unix และ Windows มีความสำคัญพอที่จะรับประกันjava.lang.Process.exitValue()
กระบวนการลูก พวกเขาไม่รับประกันการเคารพแบบแผนสำหรับกระบวนการหลักหรือไม่
นี่เป็นข้อบกพร่องในการออกแบบภาษาหรือในการนำไปใช้หรือไม่? มีข้อโต้แย้งว่าเป็นความคิดที่ดีหรือไม่?