Gerenciamento de exceções sem tratamento no secundário Worker Threads exemplo
Este exemplo demonstra como gerenciar exceções sem tratamento que são lançadas em segmentos de trabalho secundário.
Este exemplo demonstra um recurso específico da Windows Presentation Foundation e, consequentemente, não segue boas práticas de desenvolvimento de aplicativos. Para ver uma cobertura abrangente de boas práticas de desenvolvimento de aplicativos Windows Presentation Foundation (WPF) e Microsoft .NET Framework, consulte os seguintes itens conforme adequado:
Acessibilidade - Práticas recomendadas de Acessibilidade
Localização - Visão geral de globalização e localização do WPF
Desempenho-Optimizing WPF Application Performance
Segurança - Windows Presentation Foundation Security
O exemplo de criação
Instale o Windows Software Development Kit (SDK) e abra sua janela de comando de ambiente de compilação. No menu Iniciar, aponte para Todos os Programas, Microsoft Windows SDK e clique em Shell CMD.
Baixe o exemplo, geralmente da documentação do software development kit (SDK), para a unidade de disco rígido.
Para compilar o exemplo na janela de comando do ambiente de compilação, vá para o diretório fonte do exemplo. Na prompt de comando, digite MSBUILD.
Para compilar o exemplo em Microsoft Visual Studio, carregue a solução de exemplo ou o arquivo de projeto e, em seguida, pressione CTRL+SHIFT+B.
Executando o exemplo
Para executar o exemplo compilado na janela de comandos do ambiente de compilação, execute o arquivo .exe na pasta Bin\Debug ou Bin\Release contida na pasta de código-fonte do exemplo.
Para executar o exemplo compilado com a depuração no Visual Studio, pressione F5.
Comentários
Autônomo ou hospedado por navegador WPF os aplicativos usam o Application classe para detectar exceções sem tratamento (consulte DispatcherUnhandledException). No entanto, Application só pode detectar exceções sem tratamento que são lançadas mesmo thread que o Application classe está sendo executado. Normalmente, um aplicativo terá um principal interface do usuário (UI) thread, isso o comportamento de detecção de exceção sem tratamento das Application classe é adequada. No entanto, as exceções sem tratamento que são lançadas em secundário thread s não são automaticamente detectadas pelo Application classe principal UI thread.
Este exemplo demonstra como passar exceções sem tratamento de threads de trabalho secundário de volta para o principal UI onde pode ser detectadas pelo thread a Application objeto. Isso é conseguido por meio da detecção exceções não tratadas como o thread de trabalho secundário e usar o Dispatcher para encaminhá-los a principal UI segmento. Sobre o principalUI segmento, eles serão relançados para que o Application objeto pode detectá-los.
Observação: |
---|
Um thread de trabalho secundário é um thread secundário que não exibe UI. |
Consulte também
Tarefas
Gerenciamento de exceções sem tratamento em amostra de threads da interface do usuário secundária