This is an old revision of this page, as edited by Jackmcbarn (talk | contribs) at 17:01, 17 January 2021 (re). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Revision as of 17:01, 17 January 2021 by Jackmcbarn (talk | contribs) (re)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)Request
@Jackmcbarn: I know you're not too active at the moment, but I have a request. Would it be possible to update the code so that it will fail gracefully (without script errors) if key1 does not exist in the data module? At the moment I have no way to see if a value is defined without causing the script error. Thanks and hope to see you back soon! — Martin (MSGJ · talk) 22:24, 14 January 2021 (UTC)
- @MSGJ: Done. Add
|softfail=
to the invocation you want this for. Jackmcbarn (talk) 00:35, 15 January 2021 (UTC)- Sorry it's not working yet. — Martin (MSGJ · talk) 10:14, 15 January 2021 (UTC)
{{#invoke:Data|Module:Data/Bridge config|Q1234|c1|softfail=y}}
-> Lua error in package.lua at line 80: module 'Module:Data/Bridge config' not found.
- @MSGJ: I see. It's because
table.concat
doesn't respect metamethods. Fixed now. Jackmcbarn (talk) 19:04, 16 January 2021 (UTC)- That's great Jackmcbarn, thanks! Do we actually need two different ways to display the error, or could the softfail be used for all? — Martin (MSGJ · talk) 11:22, 17 January 2021 (UTC)
- @MSGJ: I intend for
softfail
to mean "I know this might fail and I'm going to handle it if it does". If softfail were the default, it would be easy for a lookup to fail in a template where the author didn't expect it, but also in such a way that no tracking category gets added (e.g., inside the condition of a #if). The tracking category from a script error is "stickier", so it being the default means that any coding mistakes will for sure result in a categorization so we can find and fix them. Jackmcbarn (talk) 17:00, 17 January 2021 (UTC)
- @MSGJ: I intend for
- That's great Jackmcbarn, thanks! Do we actually need two different ways to display the error, or could the softfail be used for all? — Martin (MSGJ · talk) 11:22, 17 January 2021 (UTC)
- @MSGJ: I see. It's because