Java/XML Anfängerproblem.



  • Ich probier grade was mit XML, gleichzeitig sind das meine ersten Schritte in Java und jah... ich mache hier irgendwas falsch, und komme nicht drauf was.

    import org.jdom.*;
    import org.jdom.output.*;
    import org.jdom.input.*;
    import org.jdom.transform.*;
    import org.jdom.adapters.*;
    import org.jdom.xpath.*;
    
    public class XML1 
    {
    	public static void main(String args[])
    	{
    		Document doc = new Document (new Element("party"));
    
    		XMLOutputter out = new XMLOutputter();
    		out.output(doc, System.out);
    	}
    }
    

    Die Fehlermeldung heißt:

    XML1.java:15: unreported exception java.io.IOException; must be caught or declared to be thrown
                    out.output(doc, System.out);
                              ^
    

    Hüllfe 😕 Und nicht lachen, ich bin Java-Nubi 😉



  • Hi

    wer lesen kann ist klar im vorteil, Englisch sollte man auch können.

    XML1.java:15: unreported exception java.io.IOException; must be caught or declared to be thrown
                    out.output(doc, System.out);
    

    schreib über die main in throws IOException und es solte gehen.

    oder ein try{}catch(IOException e){} block drum rum.

    gruss



  • Achso, man wird dazu gezwungen das so zu machen, einfach weil was schief gehen KÖNNTE, oder wie?



  • Hi

    nu ja.

    out.output hat ein throws IOException, das besagt, das da was schief gehen könnte, nu liegt es an dir zu entscheiden was du machen willst. Fehler ausgehen, Fehler korigieren und noch einmal versuchen, Feheler weiterreichen, oder fehler untern Teppich kehren und weitermachen und hoffen das alles gut geht.

    In java ist das normalerweise die gänge art mit fehlern umzugehen. in c++ gibts so was auch, nur wird es nicht ganz so konsiquent durchgezogen wie in java.

    Andere alternative währen rückgabe Werte, die du überprühfen müstest ob es erfolgreich war oder nicht.

    da find ich exceptions doch einfacher auch wens ein bischen mehr tiparbeit ist. vorallem liefern die einem doch eindeutig mehr informationen.

    versuch mal das einzubauen, und provozier mal nen fehler. z.B. durch angabe eines fahlschen Dateinahmens oder so.

    try
    {
       ...
    }
    catch (Exception e)
    {
       e.printStacktrace();
    }
    

    gruss



  • Werd ich machen, danke für die Erklärung! Das C++ Forum rockt halt auch bei Java 😛


Anmelden zum Antworten