Exemplo de tratamento de exeções [resolvido]

Boa tarde eu fiz um exemplo de tratamento de exeção e gostaria que fosse avaliado, se está de forma coerente ou não,
segue o código
package br.org.catolicasc.luiz.almeida.calculadora.test;

import br.org.catolicasc.luiz.almeida.calculadora.aplicativo.Calculadora;

[code]/**
*

  • @author Luiz Almeida Júnior
    */
    public class ExecoesExemplo {

    /**

    • Classe de testes

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      Calculadora calc = new Calculadora(2, 1);

      calc.divisao();
      calc.multiplicacao();
      System.out.println(calc.toString());
      }

}[/code]

[code]package br.org.catolicasc.luiz.almeida.calculadora.aplicativo;

/**

  • Classe de regras

  • @author Luiz Almeida Júnior
    */
    public class Calculadora {

    private int primeiroNumero;
    private int segundoNumero;
    private double resposta;

    public Calculadora(int primeiroNumero, int segundoNumero) {
    this.primeiroNumero = primeiroNumero;
    this.segundoNumero = segundoNumero;
    // this.resposta = resposta;

    }

    public int getPrimeiroNumero() {
    return primeiroNumero;
    }

    public void setPrimeiroNumero(int primeiroNumero) {
    this.primeiroNumero = primeiroNumero;
    }

    public int getSegundoNumero() {
    return segundoNumero;
    }

    public void setSegundoNumero(int segundoNumero) {
    this.segundoNumero = segundoNumero;
    }

    public double getResposta() {
    return resposta;
    }

    public void setResposta(double resposta) {
    this.resposta = resposta;
    }

    public double multiplicacao() {
    return resposta = primeiroNumero * segundoNumero;
    }

    public double divisao() {
    if (segundoNumero == 0) {
    throw new ArithmeticException(“Programa não aceita divisão por zero”);
    }
    return resposta = primeiroNumero / segundoNumero;

    }

    public double adicao() {
    return resposta = primeiroNumero + segundoNumero;
    }

    public double subtracao() {
    return resposta = primeiroNumero - segundoNumero;

    }

    @Override
    public String toString() {
    return "Primeiro número.: " + primeiroNumero
    + "\nSegundo número…: " + segundoNumero
    + "\nResposta…: " + resposta;
    }

}[/code]
O tratamento está no método de divisão, ele está coerente? estou fazendo de forma padronizada ?
Grato pela ajuda que o forum está me dando.

[quote=juninhoall]Boa tarde eu fiz um exemplo de tratamento de exeção e gostaria que fosse avaliado, se está de forma coerente ou não,
segue o código
package br.org.catolicasc.luiz.almeida.calculadora.test;

import br.org.catolicasc.luiz.almeida.calculadora.aplicativo.Calculadora;

[code]/**
*

  • @author Luiz Almeida Júnior
    */
    public class ExecoesExemplo {

    /**

    • Classe de testes

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      Calculadora calc = new Calculadora(2, 1);

      calc.divisao();
      calc.multiplicacao();
      System.out.println(calc.toString());
      }

}[/code]

[code]package br.org.catolicasc.luiz.almeida.calculadora.aplicativo;

/**

  • Classe de regras

  • @author Luiz Almeida Júnior
    */
    public class Calculadora {

    private int primeiroNumero;
    private int segundoNumero;
    private double resposta;

    public Calculadora(int primeiroNumero, int segundoNumero) {
    this.primeiroNumero = primeiroNumero;
    this.segundoNumero = segundoNumero;
    // this.resposta = resposta;

    }

    public int getPrimeiroNumero() {
    return primeiroNumero;
    }

    public void setPrimeiroNumero(int primeiroNumero) {
    this.primeiroNumero = primeiroNumero;
    }

    public int getSegundoNumero() {
    return segundoNumero;
    }

    public void setSegundoNumero(int segundoNumero) {
    this.segundoNumero = segundoNumero;
    }

    public double getResposta() {
    return resposta;
    }

    public void setResposta(double resposta) {
    this.resposta = resposta;
    }

    public double multiplicacao() {
    return resposta = primeiroNumero * segundoNumero;
    }

    public double divisao() {
    if (segundoNumero == 0) {
    throw new ArithmeticException(“Programa não aceita divisão por zero”);
    }
    return resposta = primeiroNumero / segundoNumero;

    }

    public double adicao() {
    return resposta = primeiroNumero + segundoNumero;
    }

    public double subtracao() {
    return resposta = primeiroNumero - segundoNumero;

    }

    @Override
    public String toString() {
    return "Primeiro número.: " + primeiroNumero
    + "\nSegundo número…: " + segundoNumero
    + "\nResposta…: " + resposta;
    }

}[/code]
O tratamento está no método de divisão, ele está coerente? estou fazendo de forma padronizada ?
Grato pela ajuda que o forum está me dando.[/quote]

Essa implementação é valida ?

[code]public double divisao() {
try {
return resposta = primeiroNumero / segundoNumero;
} catch (Exception e) {
if (segundoNumero == 0) {
throw new ArithmeticException(“Programa não aceita divisão por zero”);

        }

    }
    return 0;
}[/code]

O seu catch poderia ser do tipo ArithmeticException, não…?
Ou simplesmente, nem deixa fazer a divisão se o segundo número for 0.

[quote=bomba544]O seu catch poderia ser do tipo ArithmeticException, não…?
Ou simplesmente, nem deixa fazer a divisão se o segundo número for 0.
[/quote]
grato pela ajuda