next up previous contents index
Next: Abfangen von Ausnahmen Up: Ausnahmen Previous: Definieren von Ausnahmetypen

Auslösen von Ausnahmen

Exceptions werden durch die throw-Anweisung   ausgelöst, die die Programmausführung sofort abbricht.

Für unsere Erweiterung des Attributed-Interfaces in der neuen Methode

public void replaceValue(String name, 
                         Object newval)
throws NoSuchAttrException
{ Attr attr = find(name);
  if (attr == null)
    throw new NoSuchAttrException
              (name, newval);
  attr.valueOf(newValue);
}

Die throws-Klausel gibt an, welche Exceptions von einer Methode ausgelöst werden können:

  type method(parameters)
  throws excpt1, excpt2, excpt2
  ...

Alle Exception-Objekte aus Unterklassen von excpt1, excpt2 und excpt3 können von method ausgelöst werden.

Man könnte auch eine gemeinsame Oberklasse von excpt1, excpt2 und excpt3 verwenden, verschleiert damit aber möglicherweise nützliche Information.

Die ungeprüften Ausnahmen

werden nicht in der throws-Klausel angegeben. Sie können im Prinzip von jeder Methode ausgelöst werden. throws-Klauseln dafür würden den Code unleserlich machen.


next up previous contents index
Next: Abfangen von Ausnahmen Up: Ausnahmen Previous: Definieren von Ausnahmetypen

Peter Pfahler, 1997