Я использую для регистрации имя функции, которая имеет исключение.Код такой, как показано ниже
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()
Выдает исключение, как показано ниже
В строке: 12 символов: 23 + Ошибка записи "[$ MethodName]: произошло исключение "+ ~~~~~~~~~~~ Переменная не назначена в методе.
Изменилось ли правило области действия между методом класса и функцией?