Ir ao conteúdo

Chronos04

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Exceções não são algo que tu cria a vontade no Java, elas já existem, se tu for ver as API (Classes) do java, vai ver diversas exceções, como NullPointerException, NumberFormatException, entre muitas outras e cada uma delas tem regras para serem disparadas que tem que serem lidas nas APIs de cada uma dessas classes, por exemplo a NumberFormatException ocorre quanto tu tenta converter uma String para um tipo numerico, como int, se na String não tiver somente numeros, o java vai te dar o seguinte erro "NumberFormatException at..." e é para isso que serve o try/catch, para evitar que o java trave quando isso acontecer, vou escrever um trecho de codigo pra ti entender: //Sem try/catch String numero = "abc"; int num = Integer.parseInt(numero); //Se não conhece essa função, ela converte uma String para um valor do tipo int //Depois disso o java vai reclamar de NumberFormatException pois ele não pode continuar o codigo por causa desse erro. //Com o try/Catch String numero="abc"; int num; try{ num = Integer.parseInt(numero); }catch(NumberFormatException e){ num=1; } Na segunda versão ocorre o seguinte, a variavel numero vai receber algo que não é um numero, então dentro do bloco try (tentar) o java vai tentar converter a variavel numero para uma variavel int chamada num. porém, ela não vai conseguir, pois não há só numeros dentro da String e sim letras. Sem o try/catch o java iria travar seu codigo, porém no bloco catch(pegar/capturar), tu disse que se houvesse a exception, ele deveria trata-la, nesse caso eu disse que ele deveria por 1 por padrão. O que aconteceu, o java tentou converter uma string em int, mas quando falhou ele começou a executar outra parte do codigo que deveria corrigir o erro tratado. Agora, para o que tu quer fazer, coloque um if/else assim: Scanner entrada = new Scanner(System.in); while(true){ int num = entrada.nextInt(); if(num%2!=0){ throw new Exception("Numero não é par"); //Isso irá dar um erro e irá travar seu codigo } } Não é bom usar Exception direto, o certo é pesquisar a exception correta mas estou com problemas na internet para pesquisar a mais correta para ti, talvez algo como a IllegalArgumentException seria melhor, mas não tenho certeza, mas para ti que está começando, isso não vem muito ao caso. Outra coisa, não sei quão novo tu é em java ou em programação em geral, se já viu C então acho que já pode ver essas coisas, mas se nunca viu programação, eu acho que essa parte pode ser meio complicado se ainda não entendeu bem o conceito de Orientação a Objetos. Pesquise tambem sobre exception java na internet, terá muitas, se colocar API e o nome da classe irá para um site da oracle que te dira tudo sobre a classe, vou colocar alguns aqui para ti: NumberFormatException (Java Platform SE 7 ) Scanner (Java Platform SE 7 ) - Oracle Documentation Exception (Java Platform SE 7 ) - Oracle Documentation

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!