homedukeOOP mit Java: Benutzerdefinierte Ausnahmen Prof. Dr. Uwe Schmidt FH Wedel

Benutzerdefinierte Ausnahmen

weiter

weiter

Schnittstelle

für eine eigene Ausnahmen-Klasse abgeleitet aus IllegalArgumentException

public
class IllegalColorArgumentException
  extends IllegalArgumentException
{
 
  // der default Konstruktor
  public
  IllegalColorArgumentException() {
    super();
  }
 
  // der Konstruktor mit Fehlermeldung
  public
  IllegalColorArgumentException(String msg) {
    super(msg);
  }
}
 

weiter

Konstruktoren und Methoden der Klasse Exception (Throwable)

Exception()
Konstruktor ohne Parameter
Exception(String msg)
Konstruktor mit zusätzlicher Fehlerbeschreibung
Exception(Throwable cause)
Konstruktor zur Verkettung von Ausnahmen
Exception(String msg, Throwable cause)
Konstruktor mit Fehlerbeschreibung und Ursachen-Ausnahme
String getMessage()
Auslesen der Fehlerbeschreibung
Throwable getCause()
Auslesen der ursächlichen Ausnahme
void printStackTrace()
Prozedur-Aufrufhierarchie beim Auslösen der Ausnahmen ausgeben

weiter

Exceptions mit zusätzlichen Datenfeldern

für eine eigene Ausnahmen-Klasse abgeleitet aus ArithmeticException

public
class DivisionByZeroException
  extends ArithmeticException
{
 
  private
  int dividend;
 
  public
  DivisionByZeroException(int dividend,
                          String s) {
    super(s);
    this.dividend = dividend;
  }
 
  public
  int getDividend() {
    return dividend;
  }
}
 

weiter

Auslösen und Abfangen eigener Ausnahmen

public
class AusnahmeTest {
 
  int abc;
 
  public
  void doIt() {
    try {
      if ( c == 0 )
        throw
          new DivisionByZeroException(b," in doIt");
      a = b/c;
    }
    catch ( DivisionByZeroException e ) {
      System.err.println( "Division by zero " +
                          e.getMessage() +
                          " dividend = " +
                          e.getDividend() );
      e.printStackTrace();
    }
  }
}

Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel