Tratamento exceptions

Java

23/05/2015

Boa tarde pessoal! Sou novo na área e como sempre surgem dúvida e sempre venho até o fórum em busca de ajuda, pois sempre consigo resolver. A de hoje é a seguinte, eu tenho um cadastro, ou melhor um CRUD de um entidade chamada VENDAS. Estou trabalhando com o padrão de Arquitetura em Camadas. Preciso gerar uma exception no meu controlador para que seja tratado qnd deixar os campos do formulário(Tela vendas) em branco.

public void cadastrar(Vendas venda ) throws IllegalArgumentException, ValorInsuficienteException, ProdutoNaoEncontradoException{
if(venda == null) throw new IllegalArgumentException();
if(venda.getTroco() < 0) throw new ValorInsuficienteException();
//if(venda.getProdutos().getCodigo == produto.getCodigo()) throw new ProdutoNaoEncontradoException();
this.repositorioVendas.cadastrar(venda);
}

Outra ue eu tbm gostaria de tratar seria "ProdutoNaoEncontradoException". Se o operador digitar um codigo diferente retornar uma msg indicando que aquele cod de produto não existe. Detalhe: na minha classe Vendas eu tenho um atributo produto do tipo Produto


package com.fafica.mercawin.vendas;
import java.io.Serializable;

import com.fafica.mercawin.formaPGT.FormaPagamento;
import com.fafica.mercawin.funcionario.Funcionario;
import com.fafica.mercawin.produto.Produto;

public class Vendas implements Serializable{
public static long codigoVenda;
private long contadorCod;
private FormaPagamento formaPagamento;
private Funcionario operador;
private Produto produtos;
private double desconto;
private double valorTotalComDesconto;
private int quantidade;
private double total;
private double valorRecebido;
private double troco;

public Vendas(int quantidade, Produto produto, FormaPagamento formaPagamento, double desconto, double valorRecebido) {
this.contadorCod = ++codigoVenda;
this.setQuantidade(quantidade);
this.setProdutos(produto);
this.setFormaPagamento(formaPagamento);
this.setDesconto(desconto);
this.setTotal(total);
this.setValorRecebido(valorRecebido);
}




public static long getCodigoVenda() {
return codigoVenda;
}

public long getContadorCod() {
return contadorCod;
}

public FormaPagamento getFormaPagamento() {
return formaPagamento;
}

public void setFormaPagamento(FormaPagamento formaPagamento) {
this.formaPagamento = formaPagamento;
}

public Funcionario getOperador() {
return operador;
}

public void setOperador(Funcionario operador) {
this.operador = operador;
}

public Produto getProdutos() {
return produtos;
}

public void setProdutos(Produto produtos) {
this.produtos = produtos;
}

public double getDesconto(){
double tot=(getTotal() * desconto)/ 100;
return tot;
}

public void setDesconto(double desconto){
this.desconto = desconto;
}


public int getQuantidade() {
return quantidade;
}


public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}


public double getTotal() {
return this.quantidade * this.produtos.getPrecoVenda();
}

public void setTotal(double total) {
this.total = total;
}


public double getValorRecebido() {
return valorRecebido;
}


public void setValorRecebido(double valorRecebido){
this.valorRecebido = valorRecebido;
}


public double getTroco() {
return valorRecebido - getValorTotalComDesconto();
}


public double getValorTotalComDesconto() {
return getTotal() - getDesconto();
}


@Override
public String toString() {
return "Vendas [Cod=" + contadorCod + ", FormaPagamento="
+ formaPagamento + ", operador=" + operador + ", Produto="
+ produtos + "Quantidade=" + quantidade+", desconto(R$)= " + getDesconto() + ", valorTotal="
+ getValorTotalComDesconto()+ ", Troco=" + getTroco() + "]";
}

}

Desde já agradeço a todos!
Júlio Lima

Júlio Lima

Curtidas 0
POSTAR