eternagame / EternaJS

Eterna game/RNA design interface
Other
12 stars 10 forks source link

Script errors should include proper tracebacks #797

Open luxaritas opened 3 months ago

luxaritas commented 3 months ago

Describe your idea

Currently, if a SCRIPT constraint or booster (for anything run synchronously, after #794) errors, the traceback only includes EternaJS code, not information about where it failed in the script. We should be providing a traceback within the script

Motivation

This would allow script authors to better debug errors in their scripts

Proposed Solution

Instead of just returning a caught error's cause in the script interface evaluate method, we should also return the entire error object - which, presumably, we can and should simply rethrow (if we're throwing anyways) or otherwise access the stacktrace.

Note that we will need to deal with the lack of cache bust first since this requires a change to the script-interface script (see #795)

Other Information

No response