我正在尝试为PowerShell脚本开发自己的错误处理系统。我想强制两个基本原则:
我不能说我不知道该怎么做。例如,对于非终止错误,我可以使用流重定向:
$e1=Write-Error "UUU" 2>&1
$e2=Get-Process none_null 2>&1
对于终止错误,我可以使用try / catch:
try{7/0} catch{$e3=$_.Exception.Message}
我不知道的是 - 如何开发一个通用代码模式,它可以同样处理任何类型的错误。带有重定向的模式(e1 / e2)不能用于终止错误,try / catch没有捕获到非终止错误。我现在唯一的想法是将变量 $ ErrorActionPreference 设置为值停止。换句话说 - 将任何错误作为终止类型,然后坚持尝试/捕获模式。
这是我的方案中唯一的方法吗?你有更好的解决方案吗?