124. RaiseException()

Löst eine „Exception“ (Ausnahme) aus.

RaiseException(Grund)

RaiseException() löst eine Exception aus, springt also zur Extension e im aktuellen Kontext, wo die Ausnahme dann mit der Funktion EXCEPTION() abgefragt und behandelt werden kann. Falls keine e-Extension existiert, wird der Kanal aufgelegt.

123 => {
    // ...
    if ("${eingabe}" = "") {
        RaiseException(KEINEEINGABE);
    }
    // ...
}

e => {
    Verbose(1,### Eine Exception ist aufgetreten);
    if ("${EXCEPTION(reason)}" = "KEINEEINGABE") {
        Playback(sie-haben-nichts-eingegeben);
    }
    else if ("${EXCEPTION(reason)}" = "RESPONSETIMEOUT") {
        Playback(ein-timeout-ist-aufgetreten);
    }
    else {
        Playback(ein-anderer-fehler-ist-aufgetreten);
    }
    Hangup();
}

Asterisk-Versionen: 

        |     |        |     |        | 1.6 |————————

Interner Hilfetext zu dieser Applikation in Asterisk 1.6: 

  -= Info about application 'RaiseException' =-

[Synopsis]
Handle an exceptional condition

[Description]
  RaiseException(<reason>): This application will jump to the "e" extension
in the current context, setting the dialplan function EXCEPTION(). If the "e"
extension does not exist, the call will hangup.

Differenz des internen Hilfetexts von Asterisk 1.4 zu 1.6: — in Asterisk 1.4 nicht vorhanden —

Siehe auch. Abschnitt 32, „EXCEPTION()


AMOOCON 2010

Noch kein Ticket? Dann wird es Zeit. Nur noch wenige Tage.

Twitter

Flattr

Das gedruckte Buch

Werbung