Tratamento exceptions
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!
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
Curtidas 0