Skip to content

lucasrmagalhaes/excecoes-csharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C#: entendendo exceções

Catch (Exception) captura todos os tipos de exceção e deve ser definido por último.

StackOverflowException: Lançada quando a pilha de execução acaba tendo muitas chamadas de método pendentes, normalmente indica uma recursão muito profunda ou infinita;

TypeInitializationException: Ocorre quando um construtor estático lança uma exceção e não há nenhuma cláusula catch compatível para capturá-la;

OverflowException: Lançada quando uma operação aritmética em um contexto checked estoura;

A ordem das cláusulas importa, já que são examinadas em ordem;

A exceções mais específicas devem ser capturadas antes das menos específicas;

Terá um erro de compilação se ordenar os blocos catch de forma que um bloco posterior nunca possa ser alcançado;

O bloco try pode acompanhar vários blocos catch;

A CLR visita os blocos catch em ordem, de cima para baixo. Por essa razão, os tipos de exceção mais específicos devem estar no começo;

A instrução throw;, dentro de um bloco catch, relança uma exceção; e

Convenções de nomeação de exceções utilizando o Exception ao final.

Languages