我正在编写一个带有try-catch的PowerShell脚本,该try-catch调用了许多函数。
function A {
# exceptions here won't trigger the catch
}
function B {}
try {
# exceptions here will trigger the catch
A
B
} catch {
# handle errors
}
如何在默认情况下不向每个函数内写入try catch块的情况下使这些函数向上游抛出异常?
答案 0 :(得分:0)
不能真正弄清楚尝试抛出哪些异常,但是如果您只是想手动抛出并出错以停止脚本,请使用throw命令。
答案 1 :(得分:0)
据我了解,您正在寻找无需多次try-catch即可捕获所有功能的错误。在这种情况下,您可以使用错误记录机制进行处理
function logger($val1 , $val2)
{
try
{
echo $val1 $val2
if ($val1 -eq 'Fail')
{
"Wrong Input passed so it was logged as error" + $val1 | out-file -Filepath $logfile -append
}
}
catch
{
$_.Exception.Message | out-file -Filepath $logfile -append
}
}