Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Dataflow Error Handling in the Execution Interpreter #1412

Closed
1 task
4e6 opened this issue Jan 18, 2021 · 0 comments · Fixed by #1436
Closed
1 task

Implement Dataflow Error Handling in the Execution Interpreter #1412

4e6 opened this issue Jan 18, 2021 · 0 comments · Fixed by #1436
Assignees
Labels
p-high Should be completed in the next sprint

Comments

@4e6
Copy link
Contributor

4e6 commented Jan 18, 2021

Summary

The Runtime has a special value (a Sentry) for the Dataflow Errors. We want to treat it in a special way in the interpreter, allowing us to continue the program execution in case of dataflow errors.

Value

Better error reporting in the IDE.

Specification

  • Ping-pong the sentry in the IdExecutionInstrument
    • When the runtime encounters a sentry (value) it throws a SentryException
    • IdExecutionInstrument#onException catches the SentryException,
      calls an appropriate error callback that notifies about the dataflow error
      (a SentryException should have an external id or a location of the failed expression),
      and tries to continue execution, by returning another sentry with an extended stack trace

Acceptance Criteria & Test Cases

  • In case of dataflow errors, the interpreter continues execution.
@4e6 4e6 added Type: Enhancement p-high Should be completed in the next sprint labels Jan 18, 2021
@4e6 4e6 self-assigned this Jan 18, 2021
@iamrecursion iamrecursion added this to the Sprint 2021-01-18 milestone Jan 19, 2021
@4e6 4e6 closed this as completed in #1436 Feb 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p-high Should be completed in the next sprint
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants