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

Error Handling #299

Open
lauhon opened this issue Sep 4, 2023 · 1 comment
Open

Error Handling #299

lauhon opened this issue Sep 4, 2023 · 1 comment

Comments

@lauhon
Copy link

lauhon commented Sep 4, 2023

In F# you can use Railway Oriented Programming to deal with errors in a Functional way.

Railway Oriented Programming is a really neat concept that enables super readable and explicit code. Libraries like neverthrow "artificially" add those concepts by providing some utility classes, maybe this can be further integrated into JavaScript.

In this Proposal, there is not much explicit information about how errors could be handled with the new pipe operator. When reading through it there are some questions popping up in my head. I am not sure if this is needed for the proposal, but I thought I would share it in this Issue in the hope that it adds to the discussion :)

Will downstream function calls be omitted if an early function throws an error?
Will JS Programmers need to create a Result Type/Object themselves to deal with this, or should there be something out of the box in JavaScript?
Is "Error Mapping" going to be a thing that's integrated into the new pipe syntax?

@nicolo-ribaudo
Copy link
Member

Will downstream function calls be omitted if an early function throws an error?

Yes, similarly to how in foo(bar()) foo is never called if bar throws an error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants