Guten Abend,
in unserem Leistungskurs für Technische Informatik konnte sich jede Gruppe (insgesamt 4 Gruppen) ein Softwareprojekt nach Wahl aussuchen. Wir haben uns für einen Autoverleih entschieden und ich bin für die konzeptionelle Ebene zuständig. Ich möchte unserem Projekt eine flexible Schnittstelle für die Implementierung weiterer ExceptionHandler anbieten und habe daher folgendes Interface:
Des Weiteren habe ich auch zwei provisorische konkrete ExceptionHandler:
Mein Problem beschränkt sich darauf, dass vom Interface ein Objekt - ob direkt von Exception oder abgeleitet (so sollte es jedenfalls sein) - verlangt wird. Diese Methode habe ich natürlich in jeder ExceptionHandler-Klasse implementiert, jedoch scheint Java - logischerweise - immer von einer normalen Exception auszugehen. Jedoch möchte ich an dieser Stelle eine SQLException behandeln und dennoch auf eine einheitliche Schnittstelle zugreifen zu können. Ich habe es auch schon mit einer Dispatcher Klasse versucht, die je nach Art der Exception, jene Exception an die ExceptionHandler weiterleitet. Doch scheinbar kann der instanceof-Operator nicht für Exceptions verwendet werden. Was müsste ich tun, damit ich eine einheitliche Schnittstelle für konkrete ExceptionHandler gewährleisten kann?
in unserem Leistungskurs für Technische Informatik konnte sich jede Gruppe (insgesamt 4 Gruppen) ein Softwareprojekt nach Wahl aussuchen. Wir haben uns für einen Autoverleih entschieden und ich bin für die konzeptionelle Ebene zuständig. Ich möchte unserem Projekt eine flexible Schnittstelle für die Implementierung weiterer ExceptionHandler anbieten und habe daher folgendes Interface:
Java:
public interface ExceptionHandler
{
public void handleException(Exception e);
}
Des Weiteren habe ich auch zwei provisorische konkrete ExceptionHandler:
Java:
public class DefaultExceptionHandler implements ExceptionHandler
{
public DefaultExceptionHandler(Exception e)
{
this.handleException(e);
}
public void handleException(Exception e)
{
System.out.println("Fehlermeldung: " + e.getMessage());
System.out.println("Klassenname: " + e.getClass());
System.out.println("Stacktrace: " + e.getStackTrace());
// Programmablauf wird unterbrochen
System.exit(1);
}
}
Java:
public class SQLExceptionHandler implements ExceptionHandler
{
public SQLExceptionHandler(Exception e)
{
this.handleException(e);
}
public void handleException(Exception e)
{
System.out.println("Fehlermeldung: " + e.getMessage());
System.out.println("SQL Status: " + e.getSQLState());
System.out.println("Klassenname: " + e.getClass());
System.out.println("Stack Trace: " + e.getStackTrace());
// Programmablauf wird unterbrochen
System.exit(1);
}
}
Mein Problem beschränkt sich darauf, dass vom Interface ein Objekt - ob direkt von Exception oder abgeleitet (so sollte es jedenfalls sein) - verlangt wird. Diese Methode habe ich natürlich in jeder ExceptionHandler-Klasse implementiert, jedoch scheint Java - logischerweise - immer von einer normalen Exception auszugehen. Jedoch möchte ich an dieser Stelle eine SQLException behandeln und dennoch auf eine einheitliche Schnittstelle zugreifen zu können. Ich habe es auch schon mit einer Dispatcher Klasse versucht, die je nach Art der Exception, jene Exception an die ExceptionHandler weiterleitet. Doch scheinbar kann der instanceof-Operator nicht für Exceptions verwendet werden. Was müsste ich tun, damit ich eine einheitliche Schnittstelle für konkrete ExceptionHandler gewährleisten kann?