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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在函数内部发生错误时抛出异常相关的知识,希望对你有一定的参考价值。

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

答案

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

另一答案

根据我的理解,你正在寻找捕获所有功能的错误,没有多个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
}
}

以上是关于在函数内部发生错误时抛出异常的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 函数在部署时抛出异常

spark2.1注册内部函数spark.udf.register("xx", xxx _),运行时抛出异常:Task not serializable

在 oracle apex 中使用 sqlerm 和异常时抛出重复的错误代码

java异常拾遗

使用 POST 方法上传 JSON 对象时抛出错误请求异常

Gradle 在从网络下载工件时抛出错误.. 异常:Gradle 任务 assembleDebug 失败,退出代码为 1