pcall से Error Handling
pcall code safely चलाता है और program crash करने की बजाय आपको error देता है।
In this page:
pcall से Error Handling
function error(msg) एक error raise करता है और assert(cond, msg) एक raise करता है जब cond falsy हो। pcall(f, ...) protected mode में f call करता है और true plus results, या false plus error value return करता है। Errors tables समेत कोई भी value हो सकते हैं, और एक string वाला error position add करता है जब तक आप level 0 pass न करें।
Note:
जब आपको एक stack trace चाहिए तो handler की तरह debug.traceback के साथ xpcall इस्तेमाल करें।
उदाहरण: Error handling with pcall
print(pcall(function() return "fine", 2 end))
local ok, err = pcall(function() error("boom", 0) end)
print(ok, err)
local ok3, e3 = pcall(error, {code = 42})
print(ok3, e3.code)
local ok2, e2 = pcall(function() local x = nil; return x.field end)
print(ok2, type(e2))
print(pcall(assert, false, "assertion msg"))
print(select(2, pcall(assert, 1 == 1, "unused")))
-- Output:
-- true fine 2
-- false boom
-- false 42
-- false string
-- false assertion msg
-- true unused
Login to try C/C++/Java/PHP code in the editor
आम गलतियां
- यह भूल जाना कि pcall पहले true या false return करता है
- status ignore करना और error को एक result की तरह इस्तेमाल करना
- यह उम्मीद करना कि error messages में कभी file और line information नहीं होगी
चैप्टर सारांश
- error एक error raise करता है
- assert एक condition check करता है
- pcall एक status फिर results return करता है
- Errors कोई भी value हो सकते हैं
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: