Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    (java) Blocco try catch non funzionante

    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?

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    quando usi la classe Runtime, Process ecc... per vedere il loro output devi fare un codice tipo questo:

    codice:
    ...
    int i = 0;
    Process s = rt.exec(c);
    while((i = s.getInputStream().read()) != 0) {
    System.out.print((char)i);
    }
    ...
    o circa; il problema potrebbe essere quello, oppure l'errore viene generato e l'esecuzione terminata prima che possa partire il processo dalla classe.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.