shell捕获Oracle异常,Try Catch 异常捕获失败

最近在处理try_catch异常的时候,catch无法捕获异常信息。对命令我没有加-ErrorVariable  errorvar 参数,而是用$error[0]读取当前的错误信息,无论catch用哪种异常类型都无法进入到catch里面进行处理。

代码如下:

try

{

gwmi -ComputerName "waapdf2" -Namespace "root\mscluster" -Class MSCluster_Cluster|select -ExpandProperty Name

}

catch [System.Runtime.InteropServices]

{

#测试异常能否进入

Write-Host "Error 0"

}

catch [System.Exception]

{

#测试异常能否进入

write-host "Error 11"

if ($error[0].Exception.GetType().Name -eq "COMException")

{

write-host "Error 1"

}

elseif($error[0].FullyQualifiedErrorId.StartsWith("GetWMICOMException"))

{

write-host "Error 2"

}

else{}

}

finally

{

}

错误信息:

PS C:\Windows\system32> $Error[0]

gwmi : 终结点映射器中没有更多的终结点可用。

At line:1 char:5

+ gwmi -ComputerName "waapdf2" -Namespace "root\mscluster" -Class M ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMException

+ FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

异常类型:

PS C:\Windows\system32> $Error[0].Exception.GetType()

IsPublic IsSerial Name BaseType

-------- -------- ---- --------

True True COMException System.Runtime.InteropServices.ExternalException

×用微信扫描并分享

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值