例外の作成とハンドリンク

CurlにもJava等同様に以下のように例外をtry~catchできます。

{try
    || 処理
 catch 例外1 do
    || 例外1発生時の処理
 catch 例外2 do
    || 例外2発生時の処理
 finally
    || finally処理

また例外クラスを作成するには、以下のサンプルのように、Exceptionクラスを継承して作成します。

{define-class public MyException {inherits Exception}
    {constructor public {default message:String}
         {construct-super message}
    }

このような例外を発生させるには、throwマクロを利用します。

{throw {MyException “My exception has occurred.”}}

以下はサンプルです。

{try
    let i:int = 0
    {if i < 0 then
        {throw {MyException “exception!!”}
    }
 catch e:MyException do
    {popup-message e.message}
}