- PR -

System.exit()の戻り値を確認する方法

1
投稿者投稿内容
せぶん
会議室デビュー日: 2005/06/20
投稿数: 5
投稿日時: 2006-04-08 22:28
はじめまして。
プログラムの終了時に
System.exit(0)が正常
System.exit(1)が警告
System.exit(9)が異常
とSystem.exit()の結果を三通りで区別したいのですが、結果を見る方法がわかりません。

エクリプス等でSystem.exit(1)で実行しても、結果が表示されず、正常か異常か判断が付かなくて困っています。

シェル等で実行しても正常or異常は判断できたのですが、それ以上の判断がうまくいきません。(シェルがはじめてなので、どう記述していいかわからないってのもありますが。。。)

javadocを見ると
>現在実行している Java 仮想マシンを終了します。引数はステータスコードとして作用>します。通例、ゼロ以外のステータスコードは異常終了を示します。
正常or異常しか判断できないような気もします。しかし、intを渡せるので、渡した値を取得できるのが、普通のように感じます。

実際にSystem.exit()に渡した値を結果として取得はできるのでしょうか?

宜しくお願いします。
加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2006-04-08 23:08
引用:

実際にSystem.exit()に渡した値を結果として取得はできるのでしょうか?



取得できるか?というなら出来ますけど。

a.java
---
import java.lang.*;

public class a {
public static void main(String args[]) {
System.exit(9);
}
}
---

---
$ java a
$ echo $?
9
---
でa.shを実行する、という意味であれば。

「誰が」あるいはどのプロセスが、その値を取得するかによります。
そもそも、Linux?Windows?シェルスクリプトなら、最近はLinuxなわけですが。

ということでシェルスクリプトを見直したほうがいいと思います。
せぶん
会議室デビュー日: 2005/06/20
投稿数: 5
投稿日時: 2006-04-10 11:35
ありがとうございます。
シェルを見直します。
1

スキルアップ/キャリアアップ(JOB@IT)