Mostrando postagens com marcador UML. Mostrar todas as postagens
Mostrando postagens com marcador UML. Mostrar todas as postagens

quinta-feira, 28 de maio de 2015

Exceções - explicações

Java provê um mecanismo especifico para gerenciar eventos inesperados durante o ciclo de codificação e execução de programas. Neste mecanismo, a ocorrência desses eventos é transmitida através de objetos. A hierarquia de classes é apresentada abaixo:

Os objetos para gerenciar os eventos inesperados são Error e Exception. RunTimeException é subclasse de Exception. Todos são subclasse de Throwable (algo como Lançável). Nesta superclasse está implementada a maioria dos métodos.(https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html)

As instâncias de Throwable, ou de suas subclasses, são lançadas pelo comando throw. Caso seja necessário marcar que determinado método lança exceções, sua assinatura é seguida pela declaração throws Exception. Exception requer essa marcação, ou seja, se um método lança (throw) uma instância de Exception então ele e todos os métodos que o invocam (numa sequência de chamadas) devem ou ser marcados (com isso eles repassam a exceção para o método que o invocou), ou tratar a exceção. O tratamento de uma exceção consiste em tentar executar o método que lança a exceção (para "tentar", coloca-se a invocação do método dentro de um bloco try), caso alguma exceção seja lançada, capturá-la (com o comando catch), tratá-la (num bloco de comandos associado ao comando catch) e fazer uma "limpeza" com o comando finally.

quarta-feira, 18 de março de 2015

0.0.0.11.5.0.1 - Código do exemplo, gerado por ArgoUML

Código gerado a partir do diagrama usando ArgoUML, com indentação ajustada por Indent by Fold e visualização html gerada por j2html
01 public class Mesa {
02     public int altura;
03     public int largura;
04     public int profundidade;
05     public int maxPeso;
06     public int maxCarga;
07     public boolean cabe(int locAltura, int locLargura, int locProfundidade) {
08         return false;
09     }
10     
11     public boolean suporta(int carga) {
12         return false;
13     }
14     
15     public Mesa(int altura, int largura, int comprimento, int maxPeso, int maxCarga) {
16     }
17     
18 }
Java2html indent by fold

0.0.0.11.5.0 - Exemplo de classe

O diagrama para uma classe:





A classe é pública (+) chama-se Mesa.
Tem os atributos (+) públicos, todos de tipo int, com nomes altura, largura, profundidade, maxPeso e maxCarga.
Tem os métodos cabe, que recebe três argumentos de tipo int e retorna um boolean; suporta, que recebe um argumento de tipo boolean e retorna um boolean e um construtor (estereótipo <<create>>).
(o diagrama foi feito usando ArgoUML).