CATCH

SUB Funkcio ( ... ) ... CATCH ... END
Tiu cxi komando indikas komencon de eraro-administrada parto en funkcio aux proceduro.

Parto de CATCH estas plenumata kiam eraro estas emergxata inter komencon de plenumanta funkcio kaj gxin finon. Cxi tio eraro povas esti emergxata de funkcio aux de iu ajn alia funkcio vokigis dum gxi estas plenumata se cxi tio pli profunda funkcio ne havas aro de CATCH. Ju profunda aro de CATCH havas des gxi estas granda prioritato.

Se eraro estas emergxata dum plenumato de aro de CATCH, gxi estas normale propagata. Aro de CATCH ne sxirmigxias sin.

Se cxi tio estas aro de FINALLY en funkcio gxi devas antauxi aro de CATCH. Vidu FINALLY por multaj detaloj.

Examples

' vidigas dosieron sur ekrano.

SUB PrintFile(NomoDeDosiero AS STRING)

  DIM dDosiero AS File
  DIM cCxeno AS STRING

  OPEN NomoDeDosiero FOR READ AS #dDosiero

  WHILE NOT EOF(dDosiero)
    LINE INPUT #dDosiero, cCxeno
    PRINT cCxeno
  WEND

FINALLY ' Cxiam plenumas ecx se eraro emergxis

  CLOSE #dDosiero

CATCH ' Plenumas nur se tio estas eraro

  PRINT "Mi ne povas vidigi dosieron"; NomoDeDosiero

END

See also