Hallo!
Post by Franz Hornungimport java.io.*;
public class InforMatik {
public static void main (String[] arguments) {
Runtime.getRuntime().exec ("ipconfig");
}
}
anschliessend mit javac InforMatik.java übersetzt.
Post by Franz HornungInforMatik.java:6: unreported exception java.io.IOException; must
Runtime.getRuntime().exec ("ipconfig");
1 error
Was habe ich falsch gemacht?
(Zitat verschönert)
Die Fehlermeldung sagt dir meistens, was du tun musst.
Anscheinend hast du noch nicht so große Erfahrungen mit Exceptions.
Post by Franz Hornungexception java.io.IOException; must be caught or declared to be thrown
^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Die IOException muss also abgefangen werden oder du musst in deiner
Methodensignatur deutlich machen, dass sie diese Exception weiterleitet.
Das Abfangen geht mit dem try-catch Konstrukt.
Dein Code würde also so aussehen:
import java.io.*;
public class InforMatik {
public static void main(String[] arguments) {
try {
Runtime.getRuntime().exec("ipconfig");
} catch(IOException ioe) {
System.out.println(ioe.getMessage());
}
}
}
Da du hier eine main Methode verwendest, wird dieser Code wohl nicht von
einer weiteren eigenen Klasse instanziert. Daher ist es nur sinnvoll die
Exception auch selbst abzufangen (und nicht weiterzuleiten).
Weiterleiten geht mit dem Schlüsselwort "throws" in der Methodensignatur.
public class meineKlasse {
public void bla() throws VerySeriousException {
// Code ohne try-catch, welches eine VerySeriousException
// nicht abfängt.
}
}
Alles klar?
Vielleicht solltest du aber mal eines der "Standardwerke" (siehe FAQ)
hinsichtlich dieses Themas lesen.
Mit freundlichen Grüßen,
Hero Wunders