Skip to content

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

関連項目