C # equivalente de "EXCEPTION_CONTINUE_EXECUTION" com filtro excepção

votos
1

É possível que o uso de C # para fazer alguma manipulação de exceção com função de filtro e continuar a execução no ponto onde ocorreu a exceção como C ++ faz?

Obrigado,

Publicado 27/08/2009 em 05:54
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

O CLR suporta filtros excepção de duas passagens através de expedição excepção a filter/ endfiltercláusula IL, mas as instruções de baixo nível que a implementam directamente não são suportados pelo compilador C #.

Além disso, os dois únicos valores de retorno a partir da cláusula de que são suportados são 0 e 1, que se referem a exception_continue_searche exception_execute_handler, respectivamente. Assim, a retomada da execução no ponto de exceção não é uma opção.

Respondeu 27/08/2009 em 06:08
fonte usuário

votos
2

Não é possível.

NET tem um mecanismo de filtragem exceção, mas ele não está exposta através da linguagem C #. Além disso, eu não acredito que ele permite que você para continuar a execução no ponto onde ocorreu a exceção. É mais para decidir se deve ou não capturar uma exceção com base em mais do que apenas o tipo de exceção.

Respondeu 27/08/2009 em 06:04
fonte usuário

votos
2

Isso soa como On Error de VB Goto X / Resume Next padrão. Se assim for, então não.

VB.NET permite, mas principalmente para compatibilidade com versões anteriores. Em .NET é é um hack, tais bruta isso e eu nunca vi ninguém realmente usá-lo.

Respondeu 27/08/2009 em 06:03
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more