在 2011-6-20 晚上11:30，"steve donovan" <firstname.lastname@example.org>写道：
> 2011/6/20 Xavier Wang <email@example.com>:
> > But I have some things to do even if I want throw the error, I want to
> > execute some code when the function I called have error, even if I don't
> > care what error it does , I just want some resource to be clean .
> Ah, like this?
> local ok, err = pcall(problem_function)
> if not ok then
> That is, re-raise the error.
> steve d.
Yes , it's great :)
And next question, your code cannot handle multiple return value, is there any more generic way to handle more situations? Just like:
local ok, rets... = pcall(func)
if not ok then
-- using rets, note that before here I don't actually know how many values the function returns
local a,b,c = rets...