我有这个Powershell代码:
Function blah
{
...
try
{
$numct = ( Get-ChildItem "\\devicename\c$\Users\user\Documents\ShareFile\Folders" -ea "Stop" | Measure-Object ).Count;
}
catch
{
"Error: " + $($_.Exception.Message)
return $false
}
它在成功的情况下有效,但如果您对虚假设备进行更改devicename
,则不会属于catch
部分。
答案 0 :(得分:2)
此代码段看起来像是最初在函数中?
如果是这样,"Error: " + $($_.Exception.Message)
行将该消息作为函数的返回值返回,但它可能不会显示它。
由于打算显示,因此需要致电Write-Host
,Write-Verbose
,Write-Error
等。
通过单独使用该值,您隐式调用Write-Object
,它在函数中将对象返回给其调用者。
一旦你完成所有功能,主机决定如何处理它(通常显示它)。使用上述函数之一显式写入文本。