Pergunta

Eu sou a depuração de um aplicativo de produção que tem uma erupção de blocos catch vazio suspiro:

try {*SOME CODE*}
catch{}

Existe uma maneira de ver o que a exceção é quando o depurador atinge a pegar no IDE?

Foi útil?

Solução

No VS, se você olhar em Moradores da área de sua IDE, enquanto dentro do bloco catch, você terá algo para o efeito de us $EXCEÇÃO que terá todas as informações para a exceção que apenas foi pego.

Outras dicas

No Visual Studio - Debug -> Exceções -> marque a caixa "Linguagem Comum Exceções de tempo de execução" no Lançada Coluna

Você pode escrever

catch (Exception ex) { }

Em seguida, quando uma exceção é lançada e pego aqui, você pode inspecionar ex.

Não é impossível, porque esse bloco de código que diz "eu não me importo com a exceção".Você poderia fazer um global de localizar e substituir com o código a seguir para ver a excepção.

catch {}

com a seguinte

catch (Exception exc) {
#IF DEBUG
    object o = exc;
#ENDIF
}

O que isto vai fazer é manter o seu atual não fazer nada para pegar o código de Produção, mas ao executar a DEPURAÇÃO ele irá permitir que você defina pontos de interrupção sobre o objeto.

Se você estiver usando o Visual Studio, há a opção de quebra de sempre que é emitida uma excepção, independentemente de ela não processada ou não.Quando a exceção é lançada, a exceção do auxiliar (talvez só VS 2005 e versões posteriores) irá dizer-lhe que tipo de exceção é.

Bater Ctrl+Alt+E para abrir a exceção de diálogo opções e ative essa opção.

Você não pode adicionar uma Exceção a essa altura e inspecioná-lo?

@sectrean

Que não funciona porque o compilador ignora a Exceção ex valor se não há nada de o utilizar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top