Pessoal,
Como faço pra poder arremessar um NullPointerException.
O método insereTransacao, vai invocar o método pesquisarTipoTran que tem como finalidade retornar o resultado de uma busca no database.
Devido o metodo pesquisarTipoTran ser utilizado várias vezes em métodos distintos, gostaria de levantar e arremessar uma excessão para que o método que o chamou (invocou) capture e trata.
O objetivo principal é eu não necessitar toda fez executar um if objeto == null, pois utilizo vários metodos de acesso ao database. Esse caso é só um exemplo.
Então, gostaria de saber se posso fazer tal tratamento.
Abaixo, está o código dos dois métodos citados.
Desde já agradeço a atenção.
[code] @HibernateTransaction
public boolean insereTransacao(int cli, int TipoTran){
boolean a = true;
try{
DaoTipoTran daoTpTran;
TipoTran tipoTran;
Transacao tran;
DaoTransacao daoTran;
Cliente cliente;
DaoCliente daoCliente;
float valor;
//BUSCAR OS VALORES DO TIPO TRAN
daoTpTran = new DaoTipoTran();
tipoTran = daoTpTran.pesquisarTipoTran(TipoTran);
//BUSCAR CLIENTE
daoCliente = new DaoCliente();
cliente = daoCliente.pesquisarCliente(cli);
//ATRIBUIR PARA O OBJETO TRAN
tran = new Transacao();
tran.setFnCliente(cliente);
tran.setFnTipoTran(tipoTran);
tran.setDnQtde(1);
if (tipoTran.getDcCreditoDebito().equals("D"))
valor = - tipoTran.getDnValor();
else
valor = tipoTran.getDnValor();
tran.setDnValor(valor);
Date d = new Date(System.currentTimeMillis());
Timestamp t = new Timestamp(d.getTime());
tran.setDdAcessDate(t);
//INSERIR TRAN
daoTran = new DaoTransacao();
a = daoTran.inserirTransacao(tran);
}catch (RuntimeException e) {
a = false;
e.printStackTrace();
}catch (Exception e) {
a = false;
e.printStackTrace();
}finally{
return a;
}
}
[/code]
public TipoTran pesquisarTipoTran(int tpTran) throws RuntimeException {
Query select = null;
TipoTran tipoTran = null;
try{
// Consultando e recuperando objeto Amdministrador da base de dados
select = HibernateHelper.currentSession().createQuery("FROM TipoTran AS tptran WHERE tptran.pnTipoTran = :tipoTran");
select.setInteger("tipoTran",tpTran);
if ( select.list().size() > 0)
tipoTran = (TipoTran) select.iterate().next();
else{
System.out.println("Caiu no ELSE!!!");
throw new RuntimeException("TipoTran não encontrado "+tpTran);
}
}finally{
return tipoTran;
}
}