私はコード付きのJavaプログラムを持っています:
public class Test1 {
public static void main(String args[]) throws InterruptedException,
        IOException {
    String cmd = "cmd /c start test.bat";
    Process p = Runtime.getRuntime().exec(cmd); 
    InputStream stderr = process.getErrorStream();
    InputStreamReader isr = new InputStreamReader(stderr);
    BufferedReader br = new BufferedReader(isr);
    String line = null;
    while ((line = br.readLine()) != null){
        System.out.println(line);}
      p.waitFor(); 
      int exitVal = p.exitValue(); 
      System.out.println(exitVal);
}}
test.batは、次のコードを持つ別のプログラムを実行します。
public class ConnectionTest {
public Connection getConn throws SQLException{
      Connection conn = null;
      Statement st = null;
      ResultSet rs = null;
      String driverName = "com.ibm.db2.jcc.DB2Driver22222";
        try {
                Class.forName(driverName).newInstance();
            } catch (Exception e) {
                e.printStackTrace();
                System.exit(1);
                                } 
;;;; ;;;; ;;; ;;;
ただし、Test1からは、終了値は常に0です。バッチが実行されると、ConnectionTestクラスが実行され、DB2Driver22222が見つからないため、例外が発生します。
正しいエラーコードやエラーメッセージが表示されない理由を誰かに説明してもらえますか?