fix(pwsh): improving pwsh error handling #4504
Merged
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.
Unix & Windows
Currently
pwsh
scripts will not return an error exit code if a cmdlet fails in a "non-terminating" way. Error handling in pwsh is quite complex and different from bash.The implemented behavior wraps the user provided script in a:
Windows
exit $LASTEXITCODE
inwrapper.ps1
will propagate error code to windmillImportant
Improves PowerShell error handling in
bash_executor.rs
by wrapping scripts in a try-catch block and setting strict error preferences.$ErrorActionPreference = 'Stop'
andSet-StrictMode -Version Latest
to catch non-terminating errors.bash_executor.rs
to include error handling logic for PowerShell scripts.wrapper.ps1
to propagate error code usingexit $LASTEXITCODE
.This description was created by for d16241c. It will automatically update as commits are pushed.