我用来记录有异常的函数名。代码如下
function sample {
try{
$functionname = "sample"
throw "Error"
}
catch{
write-error "[$functionName] :Exception occured "
$_
}
}
sample
现在我试图在课堂方法中遵循同样的事情。但是在 try 块中声明的变量在 catch 块中是不可见的。
class sample{
[string] samplemethod() {
try{
$MethodName = "SampleMethod"
throw "error"
}
catch{
Write-error "[$MethodName] : Exception occured"
$_
}
return "err"
}
}
$obj = [sample]::new()
$obj.samplemethod()
它抛出异常如下
在 line:12 char:23 + Write-error "[$MethodName] : Exception occurred" + ~~~~~~~~~~~ 方法中没有分配变量。
类方法和函数之间的作用域规则是否改变?