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.
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...");
}
}