pcall第一個參數接受一個函數,以後的都是傳遞給這個函數的參數。pcall以一種保護模式來調用第一個參數,若是執行過程當中有錯誤就返回false,沒錯誤就返回true。函數
local function fun() error(111) end if pcall(fun) then print('no error') else print('has error') end -- has error
pcall實際上是會返回兩個值,第二個就是錯誤信息,若是沒有錯誤,那麼第二個返回值就是nillua
pcall比pcall多接收一個參數,第二個參數接收一個錯誤處理函數。code
local function fun() error(111) return 'i am ret' end local function errorHandler(err) print('HAS ERROR!--->'.. err) end status, ret = xpcall(fun, errorHandler)