Если это работает внутри try / catch, это завершающая ошибка. Это менее известно, но есть 2 вида завершающих ошибок: завершение сценария и завершение команды. Попытка видит ошибку завершения команды и воздействует на нее. «1/0» также является завершающей командой.
try { 1/0; 'hi' } catch { 'caught' }
caught
«Не удается найти путь» не является завершающей ошибкой:
try { dir foo } catch { 'caught' }
Get-ChildItem: Cannot find path '/Users/js/foo' because it does not exist.