Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown

aurel

Mitglied
Hallo,

Ich bin relativ neu zu Java und habe folgendes Szenario:
Aus einer Methode myMethod1 soll gewartet werden (durch Timer). Nach einer gewissen Zeit soll Methode2 aufgerufen werden.
In beiden Methoden sollen Exceptions gefangen werden.

JavaCode siehe unten. Bekomme folgenden Kompilierfehler:
myfile.java:11: unreported exception java.lang.Exception; must be caught or declared to be thrown. Also bei Zeile myMethod2();

Ich habe das Problem ungefähr verstanden: Timer erzeugt einen neuen Thread der keine Exceptions fangen kann etc.
Ich habe mir schon einiges über Exceptions, catch/try/finally/throws usw durchgelesen aber komme irgendwie nicht weiter.
Alternativ wollte ich es mit wait() lösen (im Code als Kommentar), das wait() bringt andere Probleme mit sich (observer, lock etc). Kann mir jemand helfen, wie das richtig heißen müsste? Alternativen?

Vielen Dank.


Java:
public void myMethod1() throws Exception
{
	try 
	{					
		......
		timer = new Timer();
		TimerTask task = new TimerTask() 
		{
			public void run()
			{
				myMethod2();
			}
		};
		//~ this.wait(delay);
		//~ myMethod2();
		timer.schedule(task, 0, delay);
		.....	
	}
	catch (Exception e) 
	{
		System.out.println( "Something...");
	}
}
public void myMethod2() throws Exception
{
	try 
	{	
		System.out.println("This will give an unreported exception");	
	}
		catch (Exception e) 
	{
		System.out.println( "Something...");
	}
}
 
G

Gast2

Gast
Du schreibst dass deine Methode myMethod2() eine Exception wirft (throws Exception).
Im Timer musst du die Exception dann verarbeiten:

Java:
    public void run() {
    	try {
    		myMethod2();
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    }
 
Zuletzt bearbeitet von einem Moderator:

Ruzmanz

Top Contributor
Er wirft in Methode2 keine Exception höher, sondern fängt sie auf. Auf jeden Fall scheint es mir eher so, als ob der Sinn von "throws" nicht verstanden wurde.

Laut der Beschreibung müsste man das "throws Exception" bei der zweiten Methode löschen. (Wobei es bei der 1. Methode auch keinen Sinn macht).

Java:
public void myMethod2() {
    try 
    {   
        System.out.println("This will give an unreported exception");   
    }
        catch (Exception e) 
    {
        System.out.println( "Something...");
    }
}
 
Zuletzt bearbeitet:

aurel

Mitglied
Danke erstmal für die Vorschläge.

Der erste Lösungsvorschlag "Im Timer musst du die Exception dann verarbeiten oder weiterwerfen" funktioniert nicht. Man bekommt
Rendition.java:277: illegal start of type try
Rendition.java:277: ';' expected

Laut dem was ich gelesen habe, kann man keine Exceptions im Timer (TimerTask imlements Runnable) verarbeiten.

Zweiter Vorschlag:
Das die Exceptions nicht ganz sauber sind weiss ich. Ich will es erstmal zum kompilieren bringen :shock:
Wenn man throws Exception von Methode2 rausnimmt, hat man mehr Fehler:
Rendition.java:279: unreported exception java.lang.Exception; must be caught or declared to be thrown
getRendition();
^
Rendition.java:320: unreported exception java.net.URISyntaxException; must be caught or declared to be thrown
httpcall = getRenditionURL.toURI();
^
Rendition.java:324: unreported exception java.io.IOException; must be caught or declared to be thrown
response = httpclient.execute(httpget);
^
Rendition.java:340: unreported exception java.io.IOException; must be caught or declared to be thrown
resEntityAsString = EntityUtils.toString(resEntity);




Bis jetzt funktioniert Thread.sleep(millis) gut. Ich würde trotzdem gerne wissen wie man das mit dem Timer lösen kann, falls jemand noch eine Idee hat..

Vielen Dank.
 
G

Gast2

Gast
Der erste Lösungsvorschlag "Im Timer musst du die Exception dann verarbeiten oder weiterwerfen" funktioniert nicht. Man bekommt
Rendition.java:277: illegal start of type try
Rendition.java:277: ';' expected

Laut dem was ich gelesen habe, kann man keine Exceptions im Timer (TimerTask imlements Runnable) verarbeiten.
Doch, das funktioniert:

Java:
public class Main {
	public static void main(String[] args) {
		Timer timer = new Timer();
		TimerTask task = new TimerTask() {
			public void run() {
				try {
					myMethod2();
					System.out.println("This will never happen...");
				} catch (Exception e) {
					System.out.println("Exception caught: " + e);
				}
				System.out.println("Task completed");
			}
		};
		timer.schedule(task, 0, 1000);
	}

	public static void myMethod2() throws Exception {
		System.out.println("Test");

		throw new IllegalStateException("Buuuuhhhh");
	}
}

EDIT:
Weiterreichen kannst du die halt natürlich nicht, wer soll die auch behandeln?
 
Zuletzt bearbeitet von einem Moderator:

L-ectron-X

Gesperrter Benutzer
Das kannst du selbst erledigen (wenn du deine Anmeldung abgeschlossen hättest -> hab ich für dich gemacht), dafür gibt es einen Button linksseitig unterhalb dieses Theads.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Fehlermeldung unreported exception java.io.IOException. Java Basics - Anfänger-Themen 2
N Compiler-Fehler unreported exception Java Basics - Anfänger-Themen 15
B FileInputStream schliessen: unreported Exception...must be caught Java Basics - Anfänger-Themen 6
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
1 Exception Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
M Exception soll Werte mitgeliefert bekommen Java Basics - Anfänger-Themen 12
M Selbstdefinierte Exception Java Basics - Anfänger-Themen 5
B Exception Throwable Java Basics - Anfänger-Themen 11
M Erste Schritte Start Methode - Exception Java Basics - Anfänger-Themen 1
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
F nullpointer exception - arrayerstellung Java Basics - Anfänger-Themen 4
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
H Erste Schritte Exception: 0 Java Basics - Anfänger-Themen 2
A Exception vs. Testklasse (Programm testen) Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
L [JFrame] Exception - woher? Java Basics - Anfänger-Themen 8
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
R "Missbrauch" von Exception zum Programmfluss Java Basics - Anfänger-Themen 1
U Exception: OutOfMemoryError Java Basics - Anfänger-Themen 11
A Int Eingabe: String mit Exception abfangen. Aber wie? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben