Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This makes it easy to catch and log all IO errors if desired. The exception payload gives the type and can be used for matching specific errors. It also allows attaching extra information to exceptions.
Example of a new-style error message:
When multiple exceptions occur, we now keep and report all the backtraces. If multiple IO exceptions occur, the result is also an IO exception (so you can still catch all IO errors).
Various functions now add extra context to IO exceptions:
accept_fork
adds the remote address.Net.connect
,Path.load
, etc).Also:
Eio_linux.openfile
is gone (was just a hack for testing in the early days).connect
functions no longer need to wrap all errors inConnection_failure
. The fact you got an IO error fromconnect
is enough.