我有一個運行一個jar文件,並使用System.exit
代碼返回值的C#應用程序。控制檯窗口顯示爲該jar的一部分,如果用戶關閉它(從而終止jar),它將返回一個退出代碼143
。問題是如果jar成功完成,143
(或任何正整數)可能是有效的退出代碼。在Java中設置默認的System.exit代碼?
我需要一種方法來將System.exit代碼手動設置爲一個負整數。處理143
作爲C#應用程序中的例外是不可能的。
我有一個運行一個jar文件,並使用System.exit
代碼返回值的C#應用程序。控制檯窗口顯示爲該jar的一部分,如果用戶關閉它(從而終止jar),它將返回一個退出代碼143
。問題是如果jar成功完成,143
(或任何正整數)可能是有效的退出代碼。在Java中設置默認的System.exit代碼?
我需要一種方法來將System.exit代碼手動設置爲一個負整數。處理143
作爲C#應用程序中的例外是不可能的。
如迭Dias的answer,
參數用作一個狀態代碼;按照慣例,非零狀態碼錶示異常終止。
如果你真的想忽略,而在Java和C#的應用程序是在你的手,一個簡單的解決方法是添加1000
在Java您System.exit
返回值,罐子完成時。
你的C#應用程序會識別由返回代碼>= 1000
的成功執行,再減去它。 143
低於1000
,因此出現錯誤。
根據java documentation可以使用System.exit(int n),所以只需將一個負數作爲參數,並且按照慣例,非零狀態碼指示異常終止。
我已經能夠返回使用System.exit()的,如果罐子完成了正確的代碼,但如果用戶過早終止罐子,我有超過返回什麼沒有控制。 – sgtFloyd
所以你的問題是一個又一個...... 您需要在您的應用程序識別「關閉或退出」事件,並拋出一個異常,可以使用system.exit –
我想用一個負數太大,但有些系統不能處理這個(例如OSX) –
因爲我擁有Java和C#代碼,所以這是一個微不足道的實現。去證明有時最簡單的解決方案是最好的。 – sgtFloyd