|
11 | 11 | </ul>
|
12 | 12 |
|
13 | 13 | <div align="center">
|
14 |
| - <img src="https://i.ibb.co/VjT23Rr/amoTu.png" alt="amoTu" border="0" width="400" height="600"></div> |
15 |
| -<h3>Erro</h3> |
| 14 | + <img src="https://i.ibb.co/VjT23Rr/amoTu.png" alt="amoTu" border="0" width="400" height="600"> |
| 15 | + <p>Hierarquia Exceptions</p> |
| 16 | +</div> |
| 17 | + |
| 18 | +<h2>Erro</h2> |
16 | 19 | <ul>
|
17 | 20 | <li>Usado pela JVM, serve para indicar quando existe algum problema de recurso do programa, tornando a execução impossível de continuar.</li>
|
18 | 21 | <li>O “Erro” é algo que não pode mais ser tratado, ao contrário da “Exceção” que trata seus erros, pois todas as subclasses de Exception (menos as subclasses RuntimeException) são exceções que obrigatóriamente devem ser tratadas.</li>
|
19 | 22 | </ul>
|
20 | 23 |
|
21 |
| -<h3>Uchecked Exception</h3> |
| 24 | +<h2>Uchecked Exception</h2> |
22 | 25 | <ul>
|
23 | 26 | <li>Herdam da classe <em>RuntimeException</em> ou da classe <em>Error</em>.</li>
|
24 | 27 | <li>O compilador não verifica o código para ver se a exceção foi capturada ou declarada.</li>
|
25 | 28 | <li>Se uma exceção não-verificada ocorrer e não tiver sido capturada, o programa terminará ou executará com resultados inesperados.</li>
|
26 | 29 | <li>Em geral, podem ser evitadas com uma codificação adequada.</li>
|
27 | 30 | </ul>
|
28 | 31 |
|
29 |
| -<h3>Checked Exception</h3> |
| 32 | +<h2>Checked Exception</h2> |
30 | 33 | <ul>
|
31 | 34 | <li>As exceções que são herdadas da classe <em>Exception</em>, mas não de <em>RuntimeException</em>.</li>
|
32 | 35 | <li>O compilador impõe um requisito do tipo "capturar ou declarar".</li>
|
33 | 36 | <li>O compilador verifica cada chamada de método e declaração de método para determinar se o método lança (<em>throws</em>) exceções verificadas.</li>
|
34 |
| - <li>Se lançar, o compilador assegura que a exceção verificada é capturada ou declarada em uma cláusula throws. |
| 37 | + <li>Se lançar, o compilador assegura que a exceção verificada é capturada ou declarada em uma cláusula <em>throws</em>. |
35 | 38 | <li>Caso não capturada nem declarada, ocorre um erro de compilação.
|
36 | 39 | </li>
|
37 | 40 | </ul>
|
38 | 41 |
|
39 |
| -<h3>Exception Personalizada</h3> |
| 42 | +<h2>Exception Personalizada</h2> |
40 | 43 | <ul>
|
41 | 44 | <li>Programadores podem achar útil declarar suas próprias classes de exceção.</li>
|
42 | 45 | <li>Essas Exceptions são específicas aos problemas que podem ocorrer quando outro programador empregar suas classes reutilizáveis.
|
|
45 | 48 | <li><em>Importante</em>: Antes de criar a nossa própria exceção, é recomendado verificar se já existe alguma exceção na biblioteca Java que já nos forneça o que precisamos. Afinal, não queremos reinventar a roda!</li>
|
46 | 49 | </ul>
|
47 | 50 |
|
48 |
| -<h3>Blocos try/catch/finally</h3> |
| 51 | +<h2>Blocos try/catch/finally</h2> |
49 | 52 | <ul>
|
50 | 53 | Bloco <strong><em>try</em></strong>:
|
51 | 54 | <li>Região onde se encontra o código que queremos verificar se irá ou não lançar uma exceção.</li>
|
|
63 | 66 | <ul>
|
64 | 67 | Bloco <strong><em>finally</em></strong>:
|
65 | 68 | <li>Este bloco é opcional, mas caso seja construído, quase sempre será executado. (A menos que seja forçada sua parada, por exemplo, com um System.exit(0), no <em>catch</em>)</li>
|
66 |
| - <li>Dentro do bloco finally, poderá conter outros blocos try, catch, bem como outro finally.</li> |
| 69 | + <li>Dentro do bloco <em>finally</em>, poderá conter outros blocos <em>try, catch,</em> bem como outro <em>finally</em>.</li> |
67 | 70 | </li>Geralmente utilizado quando precisamos executar algum código independente se ocorrer exception ou não.</li>
|
68 | 71 | </ul>
|
69 | 72 |
|
70 |
| -<h3>Cláusulas throw e throws</h3> |
| 73 | +<h2>Cláusulas throw e throws</h2> |
71 | 74 | <ul>
|
72 | 75 | Cláusula <strong><em>trows</em></strong>
|
73 | 76 | <li>Usada na assinatura do método.</li>
|
|
0 commit comments