os: Add exception_on_failure to os:cmd/2 #9082
Open
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.
exception_on_failure
makes os:cmd/2 fail when the command exits with a failure reason. Before this change the user had to check the output from the command to know if it failed or not, now an exception will be thrown instead.I decided to not implement it as a different return value as that would change the return signature of os:cmd/2 depending on which options are passed which makes it a lot more difficult for static analysis tools to know what this function can return.
I'm not very happy with this new API, so if anyone has any better ideas on how this should work please suggest them!