public void run()
ScheduleClassManager mySCM = new ScheduleClassManager("com.prg.BusinessLogik","07:00","18:36");
mySCM.start();
ScheduleClassManager mySCM = new ScheduleClassManager("com.prg.BusinessLogik","07:00","18:36");
try {
mySCM.start();
}
catch (Exception e){
System.out.println("EXCEPTION ABGEFANGEN :-) ");
}
// Arbeit.java
public class Arbeit
extends Thread
{
private IExceptionHandler handler;
public Arbeit(IExceptionHandler handler)
{
this.handler = handler;
}
@Override
public void run()
{
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
handler.catchException(e);
}
}
public static void main(String[] args)
{
IExceptionHandler handler = new IExceptionHandler()
{
@Override
public void catchException(Exception e)
{
System.out.println("EXCEPTION ABGEFANGEN :-) ");
}
};
new Arbeit(handler).start();
}
}
// IException.java
public interface IExceptionHandler
{
public void catchException(Exception e);
}
hier wäre eine Callback-Funktion (bes. in Form von Standard-Patterns wie Event/Listener oder Observer/Observable) ein guter Ansatz.
import java.util.Observable;
import java.util.Observer;
public class Main implements Observer {
public Main() {
Arbeit arbeit = new Arbeit();
arbeit.addObserver(this);
arbeit.run();
}
public static void main(String[] args) {
Main m = new Main();
}
public void update(Observable o, Object arg) {
Exception e = (Exception) arg;
System.out.println(e.getMessage());
}
}
class Arbeit extends Observable implements Runnable {
public void run() {
try {
Thread.sleep(50000);
} catch (InterruptedException e) {
super.setChanged();
super.notifyObservers(e);
}
}
}
@Hemeroc: wenn es um allgemeines Feedback oder auch nur eine typsichere, spezifischere Behandlung bestimmter Exception-Typen geht, bin ich bei Dir; hier wäre eine Callback-Funktion (bes. in Form von Standard-Patterns wie Event/Listener oder Observer/Observable) ein guter Ansatz.
Wenn die Callback-Funktion aber nichts anderes macht als unterschiedlos alle Exceptions zu akzeptieren, dann macht sie eigentlich nichts anderes als der UncaughtExceptionHandler. Insofern würde ich anstelle des Callbacks mit der einfachen catchException-Methode doch eher den Standard-Mechanismus verwenden; was soll daran denn unsauber sein?