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