问题
What would be the best way to capture error within below Foreach-Object Parallel block as there would be three separate threads/runspaces running and executing code written in the block and multiple errors/exception can occurs at the same time? Would it be possible to capture all the errors in a list/variable and show at the end of the execution of the script?
1..3 | ForEach-Object -ThrottleLimit 3 -Parallel {
#Some code here that throws error
}
回答1:
The -ErrorVariable param will give you an arraylist of ErrorRecords at the end:
1..3 | ForEach-Object -ThrottleLimit 3 -Parallel {
throw "Item $_ Error"
} -ErrorVariable allErrors
来源:https://stackoverflow.com/questions/64239003/error-handling-within-foreach-object-parallel-block-powershell-7