Para corrigir isso, procure sintaxe incorreta
- Se Try-Catch não estiver funcionando no PowerShell, você deverá verificar a sintaxe incorreta e os valores de ação de erro.
- Este guia explicará as diferentes maneiras de resolver o problema.

xINSTALE CLICANDO NO ARQUIVO PARA DOWNLOAD
- Baixe a ferramenta de reparo do PC Restoro que vem com tecnologias patenteadas (patente disponível aqui).
- Clique Inicia escaneamento para encontrar problemas do Windows que possam estar causando problemas no PC.
- Clique Reparar tudo para corrigir problemas que afetam a segurança e o desempenho do seu computador.
- Restoro foi baixado por 0 leitores deste mês.
A instrução Try-Catch em PowerShell lida com erros e exceções em seu código. Se o Try-Catch não estiver funcionando como esperado no PowerShell, pode ser frustrante.
Neste guia, abordaremos todas as maneiras de corrigir o problema, juntamente com as prováveis causas do problema. Vamos começar!
O que faz com que o problema Try-Catch não funcione no PowerShell?
Pode haver vários motivos pelos quais a instrução não está funcionando no PowerShell. Aqui estão alguns dos mais comuns:
- Conjunto padrão de ErrorAction – Se o ErrorAction está definido como Continuar, o Try-Catch não funcionará como esperado.
- Erros de sintaxe – Se a sintaxe utilizada for inadequada, a formatação estiver incorreta ou faltarem palavras-chave, o Try-Catch não funcionará.
- Comportamento de cmdlet ou função – Algumas funções e cmdlets vêm com seu comportamento de tratamento de erros, que pode não ser compatível com Try-Catch.
- Lógica incorreta ou uso de variáveis – Se houver uso indevido de variáveis ou lógica incorreta, o Try-Catch não funcionará.
O que posso fazer se o Try-Catch não estiver funcionando no PowerShell?
1. Verifique a sintaxe
- Primeiro, você precisa verificar se usou a sintaxe correta para a versão do PowerShell que está usando.
- Em seguida, verifique se você colocou os blocos Try e Catch na sequência correta.
- A sintaxe básica para Try-Catch é mencionada abaixo. Substitua # código a ser executado aqui pelo código e # código de tratamento de erros aqui pelo código de tratamento de erros:

Tentar {
# código para rodar aqui
}
Pegar {
# código de tratamento de erro aqui
}
2. Verifique se você está interceptando um erro específico
Você precisa verificar se está interceptando erros específicos que deseja manipular e não todos os erros. Siga estas etapas para fazer o mesmo:
- aperte o
janelas
Tipo de chave PowerShell, e clique Executar como administrador. - Para interceptar um erro, você precisa usar o $ variável no bloco Catch para acessar informações sobre o erro que foi lançado. Vamos verificar o exemplo do mesmo para entender melhor:
Tentar {
Get-ChildItem -Path C:\DoesNotExist
}
Pegar {
if ($_.Exceção. GetType().Name -eq "DirectoryNotFoundException") {
Write-Output "Diretório não encontrado."
}
outro {
lance $_.Exception|
}
}
3. Definir valor ErrorAction
O valor padrão para ErrorAction é Continue; no entanto, para que Try-Catch funcione, você precisa definir o valor ErrorAction como Stop. Para fazer isso, siga estas etapas:
- Abrir PowerShell como administrador.
- Você precisa usar o cmdlet Set-StrictMode ou o parâmetro ErrorAction em cmdlets individuais. Para entender melhor, vejamos um exemplo:

Tentar {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Pegar {
Saída de gravação $_.Exception. Mensagem
}
- Veja como recuperar sua chave BitLocker do OneDrive
- Como usar o Phone Link para iPhone no Windows 11
- DaVinci Resolve alto uso da CPU: como reduzi-lo
4. Use o tipo de exceção correto

É importante usar exceções corretas ao usar Try-Catch, pois ele só pode lidar com exceções do System. Tipo de exceção. Se você usou non-System. Erros de exceção, o Try-Catch não funcionará.
Quanto ao não-System. Exceção, você precisa usar o mecanismo de tratamento de erros do framework NET ou detectar o erro.
5. Evite o término do script
Se o seu script for encerrado antes de atingir o bloco Catch, o Try-Cach não terá a chance de lidar com o erro. Para evitar o encerramento do script, siga estas etapas:
- Lançar PowerShell com direitos de administrador.
- Você precisa usar o Continuar declaração após o Pegar bloquear. Vamos entender por um exemplo:

Tentar {
Get-ChildItem -Path C:\DoesNotExist
}
Pegar {
Saída de gravação $_.Exception. Mensagem
Continuar
}
6. Use o Try-Catch-Finalmente
Se a instrução Try-Catch ainda não estiver funcionando, você poderá usar a construção Try-Catch-Finally. Isso garante que seu código seja executado até a conclusão, mesmo que uma exceção seja gerada.
- Abrir PowerShell como administrador.
- Digite o comando com Try-Catch-Finalmente. Segue um exemplo para entender melhor o script:

Tentar {
# Seu código aqui
}
Pegar [Sistema. Exceção] {
# Código de tratamento de exceção aqui
}
Finalmente {
# Código de limpeza aqui
}
Portanto, essas são as maneiras pelas quais você pode resolver o problema Try Catch não está funcionando no PowerShell. Se você tiver alguma dúvida relacionada ao Try-Catch, mencione-a na seção de comentários abaixo. Ficaremos felizes em ajudar!
Se você quiser saber como impedir que o PowerShell feche depois de executar um script, você pode ler isso.
Ainda tendo problemas? Corrija-os com esta ferramenta:
PATROCINADAS
Se os conselhos acima não resolverem seu problema, seu PC pode ter problemas mais profundos no Windows. Nós recomendamos baixando esta ferramenta de reparo de PC (classificado como Ótimo no TrustPilot.com) para resolvê-los facilmente. Após a instalação, basta clicar no botão Inicia escaneamento botão e, em seguida, pressione Reparar tudo.