Comparison

util/error.lua @ 11077:8ea430de5fd3

util.error: Minor tweaks to error creation code to prepare for future changes
author Matthew Wild <mwild1@gmail.com>
date Fri, 25 Sep 2020 12:27:45 +0100
parent 11076:505c3e5907a5
child 11078:fb3aec3dbe21
comparison
equal deleted inserted replaced
11076:505c3e5907a5 11077:8ea430de5fd3
40 40
41 if auto_inject_traceback then 41 if auto_inject_traceback then
42 context.traceback = debug.traceback("error stack", 2); 42 context.traceback = debug.traceback("error stack", 2);
43 end 43 end
44 44
45 return setmetatable({ 45 local error_instance = setmetatable({
46 instance_id = id.short(); 46 instance_id = id.short();
47
47 type = template.type or "cancel"; 48 type = template.type or "cancel";
48 condition = template.condition or "undefined-condition"; 49 condition = template.condition or "undefined-condition";
49 text = template.text; 50 text = template.text;
50 code = template.code; 51 code = template.code;
51 52
52 context = context or template.context or { _error_id = e }; 53 context = context;
53 source = source; 54 source = source;
54 }, error_mt); 55 }, error_mt);
56
57 return error_instance;
55 end 58 end
56 59
57 local function init(source, registry) 60 local function init(source, registry)
58 return function (e, context) 61 return function (e, context)
59 return new(e, context, registry, source); 62 return new(e, context, registry, source);