Ho una classe java con il seguente codice

codice:
String fileAbsPath = "/team/manneschi/IBM/wsappdev51/workspace/Test/programs/M-Code.jar"
String mainClass = "it.mcode.BuildCode";
String[] command = { "java", "-cp", "\"" + fileAbsPath + "\" ", mainClass };
Runtime rt = Runtime.getRuntime();
try {

    Process proc = rt.exec(command);
} catch (Exception e) {
	e.printStackTrace();
} catch (Throwable t) {
	t.printStackTrace();
}
Quando questo codice viene eseguito, viene aperta una shell del dos o di linux a seconda del sistema operativo e viene eseguita questo comando

java -cp "/team/manneschi/IBM/wsappdev51/workspace/Test/programs/M-Code.jar" it.mcode.BuildCode

Quando questo comando lo eseguo io da shell mi viene data la seguente eccezione:

Exception in thread "main" java.lang.NoSuchMethodError
at BuildCalculator.<init>(BuildCalculator.java:83)
at BuildCalculator.main(BuildCalculator.java:627)

Volevo sapere, perchè quando eseguo il comando:

java -cp "/team/manneschi/IBM/wsappdev51/workspace/Test/programs/M-Code.jar" it.mcode.BuildCode


dalla classe java (quindi non direttamente dalla shell), questa eccezione non viene presa dal blocco try catch che ho inserito?