enso/docs/semantics/errors.md

1.2 KiB

layout title category tags order
developer-doc Errors semantics
semantics
errors
runtime
4

Errors

Due to its hybrid nature, Enso supports two main exception systems that help users to deal with errors at runtime in the language.

Asynchronous Exceptions

Warning

The actionables for this section are:

  • Why do we call it asynchronous, when they are synchronous!?
  • Specify the semantics of Enso's async exceptions.

Broken Values

There is a special dynamic dispatch for Error values. A dataflow error dispatch first checks if it may call a method on Error type.

Warning

The actionables for this section are:

  • Specify the semantics of Enso's broken values.

Warnings

Warning

TODO

  • Values in Enso may have warnings attached

There is a special dynamic dispatch for values with warnings. Before we pass the dispatch to the underlying value, we check if warning has a method 'overridden' - this is used for remove_warnings, etc.