2010-01-29 50 views
2

我有一個運行一個jar文件,並使用System.exit代碼返回值的C#應用​​程序。控制檯窗口顯示爲該jar的一部分,如果用戶關閉它(從而終止jar),它將返回一個退出代碼143。問題是如果jar成功完成,143(或任何正整數)可能是有效的退出代碼。在Java中設置默認的System.exit代碼?

我需要一種方法來將System.exit代碼手動設置爲一個負整數。處理143作爲C#應用程序中的例外是不可能的。

回答

2

如迭Dias的answer

參數用作一個狀態代碼;按照慣例,非零狀態碼錶示異常終止。

如果你真的想忽略,而在Java和C#的應用程序是在你的手,一個簡單的解決方法是添加1000在Java您System.exit返回值,罐子完成時。

你的C#應用​​程序會識別由返回代碼>= 1000的成功執行,再減去它。 143低於1000,因此出現錯誤。

+0

因爲我擁有Java和C#代碼,所以這是一個微不足道的實現。去證明有時最簡單的解決方案是最好的。 – sgtFloyd

1

根據java documentation可以使用System.exit(int n),所以只需將一個負數作爲參數,並且按照慣例,非零狀態碼指示異常終止。

+0

我已經能夠返回使用System.exit()的,如果罐子完成了正確的代碼,但如果用戶過早終止罐子,我有超過返回什麼沒有控制。 – sgtFloyd

+0

所以你的問題是一個又一個...... 您需要在您的應用程序識別「關閉或退出」事件,並拋出一個異常,可以使用system.exit –

+0

我想用一個負數太大,但有些系統不能處理這個(例如OSX) –

相關問題