Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 如何允许使用-erroraction调用函数_Function_Powershell_Error Handling - Fatal编程技术网

Function 如何允许使用-erroraction调用函数

Function 如何允许使用-erroraction调用函数,function,powershell,error-handling,Function,Powershell,Error Handling,我正在编写一个脚本,它具有functionB调用function。但是,我希望通过调用functionA并使用-erroraction标志来处理functionA中的functionA错误,但是不能使用erroraction标志调用我的自定义函数 例如: function functionA($var){ #do something } function functionB($var1, $var2){ try{ $response = functionA $value

我正在编写一个脚本,它具有
functionB
调用
function
。但是,我希望通过调用
functionA
并使用
-erroraction
标志来处理
functionA
中的
functionA
错误,但是不能使用
erroraction
标志调用我的自定义函数

例如:

function functionA($var){
   #do something
}

function functionB($var1, $var2){
   try{
     $response = functionA $value -ErrorAction Stop
   }catch{
      #do something else
   }
}
我怎样才能做这样的工作?
function
处理错误不是一个选项。

使用
[CmdletBinding()]
属性启用该选项。阅读更多


注意:在PowerShell中,您应该使用动词-名词约定来命名函数。您还应该在
Param()
块中定义参数。花括号通常指向新行。因此,您的函数可以如下所示:

function Test-FunctionA
{
    [CmdletBinding()]
    Param
    (
        $var
    )

   #do something
}

function Test-FunctionB
{
    [CmdletBinding()]
    Param
    (
        $var1,
        $var2
    )

   try
   {
     $response = Test-FunctionA $value -ErrorAction Stop
   }
   catch
   {
      #do something else
   }
}

使用
[CmdletBinding()]
属性启用该功能。阅读更多


注意:在PowerShell中,您应该使用动词-名词约定来命名函数。您还应该在
Param()
块中定义参数。花括号通常指向新行。因此,您的函数可以如下所示:

function Test-FunctionA
{
    [CmdletBinding()]
    Param
    (
        $var
    )

   #do something
}

function Test-FunctionB
{
    [CmdletBinding()]
    Param
    (
        $var1,
        $var2
    )

   try
   {
     $response = Test-FunctionA $value -ErrorAction Stop
   }
   catch
   {
      #do something else
   }
}

有一个全局
$erroractionpreference
,您可以在调用函数之前将其设置为stop,然后再将其还原。有一个全局
$erroractionpreference
,您可以在调用函数之前将其设置为stop,然后再将其还原。