parts/ErrorHandling.ps1
param( [Parameter(Mandatory,Position = 0)] [System.Management.Automation.ErrorRecord] $ErrorRecord ) process { $errDetail = $ErrorRecord.ErrorDetails if ($errDetail) { $errMessage = ConvertFrom-Json -InputObject $errDetail.Message Write-Error "$($ErrorRecord.Exception.Message) | $($errMessage.Message)" } elseif ($ErrorRecord -like '*<html*') { $PSCmdlet.WriteError([Management.Automation.ErrorRecord]::new([Exception]::new("Response was HTML, Request Failed."),"ResultWasHTML", "NotSpecified", $invokeParams.Uri)) } else { Write-Error $ErrorRecord.Exception } } |