Mình đang cố làm cho lua nó giống C# một tí , bằng cách viết 2 function là try và catch, nhưng khi mình rethrow exception (gọi hàm error trong error handler) thì lại dính lỗi tràn bộ nhớ:
function try(func, errHandler)
return xpcall( func, errHandler)
end
function catch(func)
return func
end
try (function()
error("Có lỗi nè bạn ey")
end,
catch (function(err)
print( "ERROR:", err);
error(err);
end));
Vậy phải làm thế nào để “rethrow” error đây?