pcall
保護されたモードで関数を呼び出す(エラーが発生しても処理を継続させる)
lua
pcall (f, arg1, ···)
説明
関数 f
を指定した引数 arg1, ...
とともに保護モードで呼び出します。保護モードでは、f
内で発生したエラーが伝播せず、エラーをキャッチして処理を継続できます。
pcall
の返り値は、まずステータスコード(ブール値)で、エラーがなければ true
、エラーがあれば false
です。エラーがなかった場合、続けて関数 f
の戻り値が返されます。エラーが発生した場合は、false
とエラーメッセージが返されます。
サンプルコード
lua
local status, err = pcall(function() error("error") end)
print(status, err)
この例では、エラーが発生してもプログラムが停止せず、エラーメッセージが表示されます。
互換性
- Lua5.1