我有下面的一段代码,我试图访问一个在try中定义的变量,但它无法访问,可以做些什么来修复它。
try{
$X = get-X
}
catch
{
Manage exception
}
write-host $X发布于 2013-04-18 06:37:48
我刚碰到这个,它看起来像是个bug。在try块外声明变量并不能解决作用域问题。一旦您离开try块,$a的值就会重置为您进入try块之前的值。因此,如果您想在执行try{}之后访问$a,则需要在try {}块中以$global:a的身份访问它。
发布于 2012-09-25 16:13:50
对我来说,这将返回所有进程,就像简单的get-process命令一样:
try
{
$a = get-process
}
catch
{
write-error "Some error occurred"
}
$a发布于 2012-09-26 00:52:11
正如@Christian指出的那样,它应该以你拥有的方式工作得很好。如果没有填充$x,则可能是Get-X没有返回任何内容,或者发生了错误。
您可以始终使用在顶部声明变量的模式:
$a = <default value, or $null>
try
{
$a = get-process
}
catch
{
write-error "Some error occurred"
}
$ahttps://stackoverflow.com/questions/12578683
复制相似问题