Хех, я думаю, что вы начали не с той ноги. Жюри очень много о том, являются ли проверенные исключения Java хорошей идеей.
Тем не менее, на то, что вы спрашиваете, очень трудно ответить. В Java для статического анализа компилятору ясно, какие методы выдают (или, по крайней мере, то, что они объявляют , которые они выдают), какие исключения; это закрытая система, существующая исключительно в пространстве процессов компилятора. В реальном мире распределенных гетерогенных систем не существует универсальной системы проверенных исключений. Командлеты PowerShell существуют в домене приложения .NET в процессе win32, но они взаимодействуют с системами поддержки на внешних серверах, используя тупые протоколы, такие как Active Directory, которые отличаются друг от друга как в реализации, так и в общей концепции. Исключительные условия могут «перетекать» из одного домена в другой, но они деформируются, оборачиваются и перемешиваются во всех направлениях, прежде чем всплывают перед вами, бедным пользователем на консоли. Короче говоря, ответ - нет. Командлеты общего назначения (get-item, get-childitem) не знают о склонности базовой провайдерской системы вызывать ошибки и не могут достоверно знать это.
Однако, если у вас есть выделенный модуль для Active Directory (например, модуль ActiveDirectory от Microsoft или модуль Quest QAD), возможно, они перечислили исключения, которые будут отображаться их командлетами в случае исключительных условий в системе поддержки. Эту справку можно найти, скорее всего, в файлах справки модуля (или оснастки) или для каждого командлета. Попробуйте выполнить следующую команду:
ps> get-help do-something -full | more
Это покажет полный синтаксис вызова вместе с любыми заметками, которые разработчики сочли достаточно хорошими, чтобы благословить вас. Обратите особое внимание на нижний колонтитул; именно здесь вы обычно найдете более общую справочную тему, например "about_thesecmdlets", с которой вы можете просматривать: get-help about_thesecmdlets
Надеюсь, это поможет.