GLBasic Benutzerhandbuch

Main sections

TRY

TRY
...
IF ... THEN THROW "Error"
...
CATCH err$
DEBUG err$ + "\n"
ASSERT 0
FINALLY
...



Mit TRY leitet man einen Code-Block ein, der überprüfen kann ob alle folgenden Anweisungen funktionieren.
Mit THORW kann man eine Ausnamhe (Exception) aufwerfen, der dann im Block CATCH abgefangen werden kann. Dabei kann das THROW auch in verschachtelten Funktionsaufrufen geworfen werden.
FINALLY beendet den Code der im Falle einer Ausnahme ausgeführt wird. Ohne ein THROW wird der CATCH-FINALLY Block übergangen.

TRY
    FOR i=0 TO 5
        STDOUT "call "+i+"\n"
        int_div_by_2(i)
    NEXT
CATCH err$
    STDERR "Exception: " + err$ + "\n"
FINALLY

STDOUT "ok, done\n"
KEYWAIT
END

FUNCTION int_div_by_2: number%
IF MOD(number%, 2)<>0 THEN THROW "Odd: "+number%
STDOUT "dividing "+number%+"\n"
RETURN number / 2
ENDFUNCTION

See also...