lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Fri, Mar 18, 2011 at 7:42 PM, Daurnimator <> wrote:
> pxpcall = function(func,errfunc,...) return xpcall( func,function(e)
> pcall(errfunc,e) return true end ) end

The "try" function implemented in Lua Gems Chapter 13 brings the
exception handler outside of the pcall, like this:

  function try(f, catch_f)
    local status, exception = pcall(f)
    if not status then catch_f(exception) end
  end -- warning doesn't mix with coroutines in 5.1 (maybe ok in 5.2 though)

Isn't that enough?  Admittedly, this introduces quirks in the
tracebacks, which I've described previously [1].