Pergunta

estiveram percorrendo os documentos de ajuda do MSDN para obter um jeito de Visual Basic. Depois de experimentar o exemplo usando temporizadores --one arrasta um componente rótulo e temporizador para o designer e adiciona o seguinte para os componentes sub-rotina

Label1.Text = My.Computer.Clock.LocalTime.ToLongTimeString

A saída para a janela imediata durante depuração é o seguinte

A primeira exceção chance de tipo 'System.InvalidCastException' ocorreu em Microsoft.VisualBasic.dll
Um primeiro excepção oportunidade de tipo 'System.InvalidCastException' ocorreu em Microsoft.VisualBasic.dll

O mesmo erro ocorre em um exemplo MSDN anterior usando um componente menu de contexto. Devo Try...Catch...Finally este erro e tentar seguir em frente? Ou, estou lidando com algo muito mais grave?

Foi útil?

Solução

Quando você vê algo sobre uma primeira excepção oportunidade, isso só significa que uma exceção foi pego dentro do código que você ligou, mas não significa necessariamente que o código de falha. Se o código é executado sem causar seu programa para falhar e retorna um valor válido, então não temos um problema. Você também vai ver a saída na janela de depuração sobre exceções de primeira chance quando você implementar seus próprios blocos try / catch.

Outras dicas

No menu Debug -> Exceções, você pode ativar o depurador para parar quando uma exceção é primeira jogada, mesmo que seria pego mais tarde; se você quiser saber o que está acontecendo, esta é a maneira mais fácil de fazê-lo

Na primeira excepção oportunidade examinar os detalhes da exceção. Você deverá ver uma propriedade pilha quadro / trace. De lá você deve ver o que alinham o erro ocorre na. Isso deve ajudá-lo.

Na tentativa IDE em Ferramentas> Opções> Projetos e Soluções> Padrões de VB e definir Option Strict para 'On' -. Esta ajuda captura pode lançando problemas quando você compilar seu projeto em vez de quando você executá-lo

A 'primeira execption acaso' não significa necessariamente que você tem um problema em seu código. Isso pode significar a IDE ou o compilador ou qualquer outro componente envolvido encontrado e tratado um erro e no processo o depurador é notificado e a exceção está sendo relatado para a janela imediata. Este é um excelente post sobre o tema:

http://blogs.msdn.com/davidklinems /archive/2005/07/12/438061.aspx

Uma solução rápida e fácil para depurar e diag de Primeira chance exceção é:

AppDomain.CurrentDomain.FirstChanceException += CurrentDomainOnFirstChanceException;

e

private void CurrentDomainOnFirstChanceException(object sender, FirstChanceExceptionEventArgs firstChanceExceptionEventArgs)
    {
        if (firstChanceExceptionEventArgs.Exception is NullReferenceException)
        {
            // do your handling and debugging :)
        }
    }

Multiple Exceção Primeira chance durante o tempo de execução pode prejudicar o desempenho do seu aplicativo, pois a manipulação de exceção é caro. Especialmente em aplicações web. Você pode adicionar esse manipulador e olhar para exceções específicas primeira chance e tentar evitar / corrigi-los.

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