Applet: Fehlerverarbeitung
-
Hallo,
ich versuch gerade in meinem Programm eine Fehlererkennung einzubauen. Leider Funktioniert das nicht so wirklich. Ich hab folgende Fehlermeldung, wenn ich die einzulesende Datei entferne und das Applet starte. Nun wollt ich über die Variable "Fehler" einen Zustand definieren, der in den anderen Routinen abgefragt wird und so eine alternative vorgehensweise beschrieben wird. Im moment bleibt das Applet einfach nur stehen nach der fehlermeldung.
Hat da wer eine idee zu wie es funktionieren könnte?
Letztendlich hat ich es mir so gedacht die variable fehler wird auf "da" gesetzt, wenn ein fehler auftritt, anderfalls steht sie auf "weg". Dann gibt es weiter unten diese "Paint" routine die das auswertet und demenstprechned dinge nicht zeigt.
Fehlermeldung:
java.util.NoSuchElementException
at java.util.Vector.lastElement(Unknown Source)
at Wetterstation_slide.einlesen(Wetterstation_slide.java:171)
at Wetterstation_slide.init(Wetterstation_slide.java:78)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception in thread "thread applet-Wetterstation_slide.class" java.lang.NullPointerException
at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
at sun.plugin.AppletViewer.showAppletException(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)public String einlesen(){ // Lies Textzeilen aus der Datei in einen Vector try { URL url = new URL(getCodeBase(),"daten.txt"); // statt URL wenn Datei im Verzeichnis des Applets liegt BufferedReader in = new BufferedReader( new InputStreamReader(url.openStream())); while( null != (s = in.readLine())) { vec.add(s); } in.close(); } catch(FileNotFoundException ex) { } catch(Exception ex) { //Fehlerbehandlung fehler="da"; // vec.add(" "); // Entfernt Dublikate //Set set = new HashSet(vec); //vec = new Vector(set); System.out.println("daten.txt defekt!"); } if (fehler == "weg"){ s = vec.lastElement().toString(); } System.out.println("Sytem aktiv"); return (s); }