Please enable JavaScript.
Coggle requires JavaScript to display documents.
Exceções, Podemos especificar exceções a serem jogadas em uma função com…
Exceções
try catch
try{
/// joga exceções
} catch(Type1 exc1) {
/// captura exceções do tipo 1
} catch ( Type 2 exc2) {
/// captura exceções do tipo 2
} catch (...) { // pega o resto }
A parte do programa que cuida dos erros é um Exception Handler, vai receber e o tipo do objeto de exceção indicará qual handler vai recebê-lo.
Um bloco try contém o código em que os erros podem ocorrer e as exceções que podem ser jogadas, enquanto cada bloco catch contém os handlers (como vão ser tratados cada um dos erros daquele tipo)
O compilador procura pelo catch que tenha o mesmo tipo do objeto de exceção, ou o mesmo tipo da sua classe base, ou ao mesmo ponteiro de classe base que aponte para uma classe derivada como seu parâmetro.
try e catch aninhados
Servem para pré-processar alguns erros antes de outros, que serão jogados novamente para serem passados para o bloco mais externo. É simplesmente um throw; em um bloco catch.
throw
Erros em uma parte do programa são jogadas para outra parte do programa (calling environment) que funciona como uma central de cuidado com erros.
O usuário normalmente define suas próprias classes para categorizar as exceções, o objeto de exceção do throw terá tipo dessa classe, que não precisa conter membros or métodos.
-
-
-
-