View
0
Download
0
Category
Preview:
Citation preview
Capítulo 10Capítulo 10
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento de ExceçõesTratamento de Exceções
Objetivos do Capítulo
� Apresentar o conceito de exceção e caracterizar as situações sob as quais as exceções se manifestam.
� Indicar os mecanismos que podem ser empregados para a captura e tratamento de exceções.
� Explorar a hierarquia de exceções composta pelas classes da API do Java.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
da API do Java.
� Apontar o que caracteriza as checked exceptions e as unchecked exceptions e o que distingue estes dois grupos de exceções.
Introdução
� Exceção: condição anormal
� Causas:
� Falhas na implementação
� Falhas na operação
� O responsável
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
� Qualidade de software
� Tolerância à falhas
Introdução
� Código 10.1 – Excecao.java
� O aplicativo deve solicitar um número inteiro e exibir o seu cubo.
� Utilize um diálogo gráfico para solicitar e exibir os dados.
� Execute o aplicativo e informe um dado que não possa ser convertido para o tipo int.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Estrutura try-catch
� Bloco try
� Delimita instruções que podem gerar exceções.
� Um bloco catch para cada tipo de exceção.
� Tipo = classe.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Estrutura try-catch
� Sintaxe:
try {
<instruções>
}
catch (<tipo_da_exceção> <nome_da_exceção>) {
<tratamento>
}
catch (<tipo_da_exceção> <nome_da_exceção>) {
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
catch (<tipo_da_exceção> <nome_da_exceção>) {
<tratamento>
}
Estrutura try-catch
� Tratamento genérico:
� Uso de tipo genérico: Exception
� Sintaxe:
try {
<instruções>
}
catch (Exception ex) {
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
catch (Exception ex) {
<tratamento>
}
Estrutura try-catch
� Código 10.2 – Try.java
� Captar dois números e dividir o primeiro pelo segundo.
� Utilizar diálogos gráficos para captar os números e exibir o resultado.
� Se ocorrer uma exceção durante a execução destas instruções, o programa deve exibir uma mensagem de erro e encerrar o aplicativo.
� A mensagem de erro deve conter:
�O nome da classe que representa a exceção.�O nome da classe que representa a exceção.
� A mensagem de erro padrão desta exceção.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Estrutura try-catch
� Código 10.2 – Try.java
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Estrutura try-catch
� Código 10.3 – TratamentoMultiplo.java
� Captar dois números e dividir o primeiro pelo segundo.
� Utilizar diálogos gráficos para captar os números e exibir o resultado.
� Se ocorrer uma exceção durante a execução destas instruções, o programa deve exibir uma mensagem de erro específica para cada tipo de exceção que pode ser disparada e deve encerrar o aplicativo.
� Exiba as seguintes mensagens de erro:� Exiba as seguintes mensagens de erro:
� Em caso de NumberFormatException: “Número inválido!”
� Em caso de ArithmeticExceptino: “O divisor não pode ser zero!”
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Estrutura try-catch
� Código 10.3 – TratamentoMultiplo.java
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Estrutura try-catch
� Código 10.4 – ValidaInteiro.java
� Solicitar um número inteiro e indicar se ele é válido.
� Utilizar diálogos gráficos.
� Se o diálogo de entrada for cancelado, encerrar o aplicativo.
� Se o número não for válido, exibir mensagem de erro e solicitá-lo novamente.
� Regras para validação do número:
� Deve ser inteiro.
Deve ser maior ou igual a 1.� Deve ser maior ou igual a 1.
� Deve ser menor ou igual a 10.
� Exibir uma mensagem de erro específica para cada uma destas situações.
� Lançar uma IllegalArgumentException nos dois últimos casos.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Estrutura try-catch
� Código 10.4 – ValidaInteiro.java
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Bloco Finally
� Objetivo:
� Garantir a execução de determinadas instruções.
� Requisito:
� Vínculo com estrutura try-catch
� Sintaxe:
try {
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
try {
<instruções>
}
catch (<tipo_da_exceção> <nome_da_exceção>) {
<tratamento>
}
finally {
<instruções>
}
Bloco Finally
� Código 10.5 – Finally.java
� Solicitar um número inteiro e indicar se ele é válido.
� Utilizar diálogos gráficos.
� Se o diálogo de entrada for cancelado, encerrar o aplicativo.
� Se o número não for válido, exibir mensagem de erro.
� Regras para validação do número:
� Deve ser inteiro.
� Deve ser igual ou superior a -2.147.483.648.
� Deve ser igual ou inferior a 2.147.483.647.
� Instruções de finalização que devem ser garantidas:
�Mensagem de conclusão: “Operação encerrada!”.
� Liberação imediata da memória utilizada pelo aplicativo.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Bloco Finally
� Código 10.5 – Finally.java
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
A Hierarquia das Exceções
� Uma exceção é uma classe
� Cada classe têm uma ancestral direta
� Pai ou mãe?
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
A Hierarquia das Exceções
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento Obrigatório e Tratamento Opcional
� Primeiro grupo: checked exceptions
� Tratamento obrigatório
� Classes que não derivam de RuntimeException
� Condições inválidas
� Causas fora do controle do programador
� Exemplos:
� Problemas físicos na rede
�Queda do servidor de BD
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
�Queda do servidor de BD
� Ausência de arquivos
Tratamento Obrigatório e Tratamento Opcional
� Segundo grupo: unchecked exceptions
� Tratamento opcional
� Classe RuntimeException e suas descendentes
� Defeitos no código do aplicativo (bugs)
� Podem ser evitadas pelo programador
� Adaptação da lógica de seu algoritmo
� Exemplos:
� Executar método de objeto nulo
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
� Executar método de objeto nulo
� Acessar posição inexistente de vetor
� Converter dado captado do usuário
� Há casos em que o programador não pode evitá-las
� Tratá-las como se fossem checked exceptions
Tratamento de Checked Exceptions
� Código 10.6 – TratamentoObrigatorio.java
� Ler o arquivo Excecao.java e exibir seu conteúdo.
� Editar e compilar sem nenhum tratamento de exceção.
� Analisar as mensagens de erro do compilador.
� Implementar um tratamento para cada checked exception.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento de Checked Exceptions
� Código 10.6 – TratamentoObrigatorio.java
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento de Checked ExceptionsCódigo 10.6 – TratamentoObrigatorio.java.1 import java.io.FileReader;2 import java.io.BufferedReader;34 public class TratamentoObrigatorio {5 public static void main(String[] args) {6 String texto = "";7 FileReader fr = new FileReader("Excecao.java");8 BufferedReader br = new BufferedReader(fr);910 while(true) {11 String linha = br.readLine();12 if(linha == null) break;
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
12 if(linha == null) break;13 texto += linha + "\n";14 }1516 br.close();17 fr.close();18 System.out.println(texto);19 }20 }
Tratamento de Checked ExceptionsCódigo 10.7 – TratamentoObrigatorio.java.1 import java.io.FileReader;2 import java.io.BufferedReader;3 import java.io.FileNotFoundException;4 import java.io.IOException;56 public class TratamentoObrigatorio {7 public static void main(String[] args) {8 String texto = "";9 FileReader fr = null;1011 try {12 fr = new FileReader("Excecao.java");
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
12 fr = new FileReader("Excecao.java");13 }14 catch (FileNotFoundException nfex) {15 System.out.println("Arquivo não encontrado!");16 System.exit(0);17 }18
Tratamento de Checked ExceptionsCódigo 10.7 – TratamentoObrigatorio.java.19 try {20 BufferedReader br = new BufferedReader(fr);2122 while(true) {23 String linha = br.readLine();24 if(linha == null) break;25 texto += linha + "\n";26 }2728 br.close();29 fr.close();30 }
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
30 }31 catch (IOException ioex) {32 System.out.println("Erro durante a leitura do arquivo!");33 System.exit(0);34 }3536 System.out.println(texto);37 System.exit(0);38 }39 }
Tratamento para NullPointerException
� NullPointerException
� Descendente direta de RuntimeException
� Uma unchecked exception
� Causas comuns:
� Acessar ou modificar um atributo de um objeto nulo.
� Executar um método de um objeto nulo.
� Acessar ou modificar um elemento de um vetor nulo.
� Recuperar a quantidade de elementos de um vetor nulo.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para NullPointerException
� Código 10.8 – TratamentoNull.java
� Solicitar o nome do usário.
� Converter seu nome para maiúsculo e exibi-lo.
� Utilizar diálogos gráficos.
� Experimentar cancelar o diálogo de entrada sem ter previsto isso no algoritmo do aplicativo.
� Corrigir o defeito do programa com uma estrutura de decisão.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para NullPointerException
� Código 10.8 – TratamentoNull.java
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para NullPointerExceptionCódigo 10.8 – TratamentoNull.java.1 import javax.swing.JOptionPane;23 public class TratamentoNull {4 public static void main(String[] args) {5 String nome = JOptionPane.showInputDialog("Informe seu nome");6 nome = nome.toUpperCase();7 JOptionPane.showMessageDialog(null,"Seu nome: " + nome);8 System.exit(0);9 }10 }
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para NullPointerExceptionCódigo 10.9 – TratamentoNull.java.1 import javax.swing.JOptionPane;23 public class TratamentoNull {4 public static void main(String[] args) {5 String nome = JOptionPane.showInputDialog("Informe seu nome");6 if (nome == null) System.exit(0);7 nome = nome.toUpperCase();8 JOptionPane.showMessageDialog(null,"Seu nome: " + nome);9 System.exit(0);10 }11 }
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para ArrayIndexOutOfBoundsException
� ArrayIndexOutOfBoundsException
� Descendente indireta de RuntimeException
� Uma unchecked exception
� Causas comuns:
� Acesso a elemento de vetor/matriz com índice ilegal.
� Exemplo:
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
int[ ] fibonacci = {1,1,2,3,5,8,13,21};
int n = fibonacci[8];
Tratamento para ArrayIndexOutOfBoundsException
� Código 10.10 – TratamentoArray.java
� Declare, instancie e inicialize um vetor de strings com o nome de quatro amigos.
� Implemente um laço que percorra este vetor e imprima o conteúdo de cada elemento.
� Experiência: contador de 1 ao tamanho do vetor.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para ArrayIndexOutOfBoundsException
� Código 10.10 – TratamentoArray.java
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para ArrayIndexOutOfBoundsExceptionCódigo 10.10 – TratamentoArray.java.1 public class TratamentoArray {2 public static void main(String[] args) {3 String[] amigos = {"Cláudia","Vanessa","Raul","Sidnei"};45 for (byte num = 1; num <= amigos.length; num++)6 System.out.println("Amigo " + num + ": " + amigos[num]);7 }8 }
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para ArrayIndexOutOfBoundsExceptionCódigo 10.11 – TratamentoArray.java.1 public class TratamentoArray {2 public static void main(String[] args) {3 String[] amigos = {"Cláudia","Vanessa","Raul","Sidnei"};45 for (byte num = 0; num < amigos.length; num++)6 System.out.println("Amigo " + (num + 1) + ": " + amigos[num]);7 }8 }
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para InputMismatchException
� InputMismatchException
� Descendente indireta de RuntimeException
� Uma unchecked exception
� Disparada por métodos da classe Scanner
� Causas comuns:
�O termo recuperado não coincide com o padrão esperado.
� Exemplo:
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
� Exemplo:
�Método nextInt( ) invocado
�Usuário digita: 55,33
Tratamento para InputMismatchException
� Código 10.12 – TratamentoInput.java
� Captar a idade do usuário.
� Utilizar método nextByte( ).
� Experimente deixar sem tratamento de exceção.
� Implemente um tratamento adequado.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Tratamento para InputMismatchExceptionCódigo 10.12 – TratamentoInput.java.1 import java.util.Scanner;23 public class TratamentoInput {4 public static void main(String[] args) {5 Scanner scan = new Scanner(System.in);67 System.out.print("Informe sua idade:\t");8 byte idade = scan.nextByte();910 System.out.println("Sua idade:\t\t" + idade);11 }12 }
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
12 }
Tratamento para InputMismatchExceptionCódigo 10.13 – TratamentoInput.java.1 import java.util.Scanner;2 import java.util.InputMismatchException;34 public class TratamentoInput {5 public static void main(String[] args) {6 byte idade = -1;78 while (idade < 0) {9 System.out.print("\nInforme sua idade:\t");10 Scanner scan = new Scanner(System.in);1112 try {
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
12 try {13 idade = scan.nextByte();14 }15 catch (InputMismatchException ime) {16 System.out.println("Idade inválida!");17 }18 }1920 System.out.println("Sua idade:\t\t" + idade);21 }22 }
Tratamento para Outras Exceções
� Tipo: checked exceptions
� O compilador avisa
� Tratamento obrigatório com estrutura try-catch
� Tipo: unchecked exceptions
� Causa sob área de domínio do programador
� Alterar algoritmo do programa
�Não utilizar estrutura try-catch
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
�Não utilizar estrutura try-catch
� Exemplos:
o NullPointerException
o ArrayIndexOutOfBoundsException
o ArithmeticException
� Causa fora da área de domínio do programador
� Tratar com estrutura try-catch
� Exemplos:
o InputMismatchException
o NumberFormatException
Exercício 1
� Crie um novo aplicativo, chamado Exercicio1001, que solicite o nome e o salário do usuário e calcule o valor que a empresa deve depositar em sua conta do FGTS (Fundo de Garantia por Tempo de Serviço).
� Este aplicativo deve realizar toda interação com o usuário através da janela de comando.
� Procure implementar este aplicativo de modo que sua interação com o usuário se estabeleça exatamente como
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
interação com o usuário se estabeleça exatamente como você pode observar na figura do slide seguinte.
Exercício 1
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 1
� Se o nome informado não for válido, o aplicativo deve imprimir uma mensagem de erro e solicitá-lo novamente.
� O nome deve conter de 5 a 50 caracteres.
� O nome não pode conter números.
� Se o salário informado não for válido, o aplicativo deve imprimir uma mensagem de erro e solicitá-lo novamente.
� O salário deve ser um número fracionário.
� O salário deve ser igual ou superior a R$ 465,00.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
� O salário deve ser igual ou superior a R$ 465,00.
� Ao final, o aplicativo deve imprimir os dados que serão registrados no recibo de pagamento do usuário:
� Seu nome.
� Seu salário.
� O FGTS a ser depositado.
� O valor do FGTS deve ser calculado pelo aplicativo e corresponde a 8% do salário.
Exercício 2
� Crie um novo aplicativo, chamado Exercicio1002, que solicite um número inteiro e indique se ele é um número primo.
� Os números primos são números inteiros com apenas dois divisores: ele mesmo e o número um.
� O 17 é um exemplo de número primo porque só pode ser dividido por ele mesmo e por um.
� Este aplicativo deve realizar toda interação com o usuário através da janela de comando. A figura do slide seguinte ilustra como isto deve ser realizado.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
ilustra como isto deve ser realizado.
� Procure implementar este aplicativo de modo que sua interação com o usuário se estabeleça exatamente como você pode observar nesta figura.
Exercício 2
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 2
� O número informado deve ser maior que um e deve ser menor ou igual a 2.147.483.647.
� Se o dado informado não for um número, deve-se exibir a seguinte mensagem de erro: “Erro: dado inválido!”.
� Se o número não for maior que um, deve-se exibir a seguinte mensagem de erro: “Erro: o número deve ser maior que 1!”.
� Este aplicativo deve permitir que seja analisada qualquer quantidade de números.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
� Depois que o usuário indicar um número e for indicado se ele é primo, o aplicativo deve solicitar outro número para repetir a operação.
� Este procedimento deve se repetir indefinidamente e o aplicativo só deve ser encerrado quando o usuário digitar “SAIR”.
Exercício 2
� Procure implementar o algoritmo deste aplicativo de modo que ele realize esta tarefa no menor tempo possível.
� Propõe-se, como desafio, que você tente expandir o limite máximo que o usuário pode informar para 9.223.372.036.854.775.807.
� Tente otimizar o algoritmo para que ele seja capaz de analisar números tão grandes como este em um tempo plausível.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
� Crie um novo aplicativo, chamado Exercicio1003, que gere os números que compõe a Seqüência de Fibonacci.
� Esta seqüência é uma função recursiva que objetiva gerar um conjunto de números inteiros.
� Os dois primeiros elementos desta seqüência são: {1,1}.
� O terceiro número e todos os demais números desta seqüência são definidos pela soma dos dois números anteriores.
� O terceiro número, portanto, será o dois (resultado da soma: 1 + 1), o quarto número será o três (resultado da soma: 2 + 1), o
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
1), o quarto número será o três (resultado da soma: 2 + 1), o quinto número será o cinco (resultado da soma: 3 + 2) e assim sucessivamente.
� A lista dos dez primeiros números desta seqüência são os seguintes: f(M=10) = {1,1,2,3,5,8,13,21,34,55}
Exercício 3
� Este aplicativo deve realizar toda interação com o usuário através da janela de comando.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
� O aplicativo deverá solicitar ao usuário o a quantidade de números que deverão ser gerados.
� O número informado deve ser maior ou igual a três.
� O número deve ser menor ou igual a 92.
� Armazene a quantidade informada em uma variável do tipo byte.
� Se o dado informado não for um número ou se for um número superior à capacidade do tipo byte, o aplicativo deve produzir a seguinte mensagem de erro: “Erro: dado inválido!”.
Se o número for menor que três ou maior que 92, o aplicativo
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
� Se o número for menor que três ou maior que 92, o aplicativo deve produzir a seguinte mensagem de erro: “Erro: a quantidade deve estar entre 3 e 92!”.
Exercício 4
� Crie um novo aplicativo, chamado Exercicio1004, que solicite um número inteiro e indique se ele é um número perfeito.
� Um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos menores que ele é igual ao próprio número.
� O número seis é um exemplo de número perfeito porque a soma de seus divisores é igual a ele próprio: 1 + 2 + 3 = 6.
� Este aplicativo deve realizar toda interação com o usuário através da janela de comando. A do slide seguinte ilustra
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
através da janela de comando. A do slide seguinte ilustra como isto deve ser realizado.
� Procure implementar este aplicativo de modo que sua interação com o usuário se estabeleça exatamente como você pode observar nesta figura.
Exercício 4
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 4
� O número informado deve ser maior que zero e deve ser menor ou igual a 32.767.
� Se o dado informado não for um número ou se for um número superior a 32767, o aplicativo deve produzir a seguinte mensagem de erro: “Erro: dado inválido!”.
� Se o número não for maior que zero, o aplicativo deve produzir a seguinte mensagem de erro: “Erro: o número deve ser maior que zero!”.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 5
� Crie um novo aplicativo, chamado Exercicio1005, que permita o registro de dados coletados através de pesquisa de campo junto a uma amostra de até 100 pessoas.
� Os dados coletados junto a cada pessoa são apenas três: seu nome, sua idade e seu estado civil.
� Este aplicativo deve realizar toda interação com o usuário através de diálogos gráficos.
� A Figura do slide seguinte ilustra como isto deve ser realizado.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
A Figura do slide seguinte ilustra como isto deve ser realizado.
� Procure implementar este aplicativo de modo que sua interação com o usuário se estabeleça exatamente como você pode observar nesta figura.
Exercício 5
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 5
� Armazene os nomes dos entrevistados em um vetor de string
� Utilize uma matriz do tipo byte para armazenar as idades e os estados civis.
� Armazene o estado civil como um byte que represente o código de um dos seguintes caracteres: S, C, V, D, O.
� Eles representarão, respectivamente, os seguintes estados civis: solteiro(a), casado(a), viúvo(a), divorciado(a) e outros.
� Quando o usuário cancelar um dos diálogos de entrada, o
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
� Quando o usuário cancelar um dos diálogos de entrada, o aplicativo deve considerar que os dados de todos os entrevistados já foram registrados.
� Nesse caso, realizar os cálculos estatísticos sobre estes dados e exibir o relatório final através de um diálogo gráfico de saída.
� No relatório, devem constar as seguintes informações:
� Os dados de todas as pessoas entrevistadas.
� A média de idade dos entrevistados.
� O percentual de pessoas que se enquadra em cada estado civil.
Exercício 5
� Se um dado informado não for válido, o aplicativo deve emitir uma mensagem de erro e solicitá-lo novamente.
� A validade dos dados será quebrada nas situações descritas abaixo e as mensagens de erro que devem ser exibidas são aquelas indicadas:
� Se o nome contém menos de 5 ou mais de 50 caracteres, exiba a mensagem de erro: “O nome deve conter de 5 a 50 caracteres!”.
� Se o nome contiver dígitos numéricos, exiba a mensagem de erro: “O nome não deve conter números!”.
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Se o nome contiver dígitos numéricos, exiba a mensagem de erro: “O nome não deve conter números!”.
� Se a idade não for um número inteiro ou se for um número inteiro superior a 127, exiba a mensagem de erro: “Dado inválido!”.
� Se a idade for menor que zero, exiba a mensagem de erro: “Não existe idade negativa!”.
� Se o estado civil informado não for um único caractere, exiba a mensagem de erro: “Informe um caractere!”.
� Se o estado civil informado não for um dos caracteres previstos (S, C, V, D e O), exiba a mensagem de erro: “Opção inválida!”.
Contato
Com o autor:
Rui Rossi dos Santos
E-mail: livros@ruirossi.pro.br
Web Site: http://www.ruirossi.pro.br
Com a editora:
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Com a editora:
Editora NovaTerra
E-mail Geral: contato@editoranovaterra.com.br
E-mail Comercial: comercial@editoranovaterra.com.br
Web Site: http://www.editoranovaterra.com.br
Recommended