在函数内部发生错误时抛出异常

问题描述 投票:0回答:2

我正在编写一个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块的情况下,将函数抛出到默认上游的函数?

powershell powershell-v5.0
2个回答
0
投票

不是很清楚你试图抛出什么异常但是如果你只是手动想要抛出并且错误来停止脚本使用throw命令。


0
投票

根据我的理解,你正在寻找捕获所有功能的错误,没有多个try-catch。在这种情况下,您可以使用错误记录机制来处理它

Error-logging Mechanism

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
}
}
© www.soinside.com 2019 - 2024. All rights reserved.