我调用函数时Powershell脚本抛出错误

我在PowerShell中调用该方法时收到以下错误 . 任何帮助都会非常感激 .

Error:

错误“测试”一词未被识别为cmdlet,函数,脚本文件或可操作程序的名称 . 检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试 .

Code

Try
{   
    Test
}
Catch
{
    $ErrorMessage = $_.Exception.Message
    Write-Host "Error in" 
    Write-Host $ErrorMessage
}


function Test()
{
  Write-Host "Test Method Called"
}

回答(1)

2 years ago

您调用 Test 失败的原因是PowerShell脚本不是预编译的,而是从上到下进行评估 .

由于 Test 函数仅在脚本结束时声明,因此在执行 Try-Catch 块时它不会"exist" .

只需交换订单:

function Test()
{
  Write-Host "Test Method Called"
}

Try
{   
    Test
}
Catch
{
    $ErrorMessage = $_.Exception.Message
    Write-Host "Error in" 
    Write-Host $ErrorMessage
}