Alguém poderia me mostrar um exemplo do uso do try catch?
Mas eu to falando com o uso do throws, pois ouvi falar que muitas vezes
a excessão não pode ser tratada naquele instante, e que seria tratada pelo método que o chamou. Poderiam me dar um exemplo de um método que lança a excessão e um outro que trataria essas excessão?
E se puderem explicar o código que postarem?
Pois o uso do try no método que será gerado eu sei, eu não sei é como lançar e tratar em outro método.
importjava.sql.*;publicclassTeste{Connectionconn;try{Connectionconn=this.getConnection();}catch(Exceptione){System.out.println(e.getMessage());}finally{if(conn!=null){if(!conn.isClosed()){try{conn.close();}catch(SQLExceptionex){}}}}publicConnectiongetConnectionthrowException(){thrownewExcpetion("Erro ao criar uma conexão");}}
F
fabiophxPJ
Cometi um erro, no método getConnection o certo é throws Exception e não throw.
No caso do método getConnection estou codificando que se algum erro ou alguma validação não for atendida ela irá devolver uma exceção, throws Excpetion na assinatura do método, e neste caso a rotina que esta chamando-a deverá tratar esta exceção.
Neste caso estou criando uma exceção throw new Excpetion com uma mensagem mais clara do que aquela que é retornada pelo Java.
No meu try…catch estou tratando este retornando colocando a mensagem na tela. O finally sempre será executado mesmo que ocorra uma exceção. No caso de conexões é bom fechá-las, por isso o conn.close no finally, como o close tb pode devolver uma exceção (SQLException) ele tb estará dentro de um try…catch.
Espero ter ajudado
O
OHADESPJ
publicclassXthrowsErro{// coloque algo que vai dar uma excessão}publicclassY{publicstaticvoidmain(String[]arqgs){try{privateXx=newX();x.metodoComExcessao();// exemplo}}}