Sou iniciante em Java, e gostaria de saber porquê só funciona
alguns métodos que já usei usando o try…catch???
Estava fazendo um exemplo do HelloWorld do iText e vi que
funciona uns métodos usando try…catch!
Gostaria de saber o porquê? Tem a haver com implements
também???
ResultSet rs = statement.executeQuery( "SELECT * FROM tTabela" );
O método executeQuery( String query ) faz uma consulta no banco de dados e retorna os dados para o objeto ResultSet.
Várias coisas podem dar errado, por exemplo a Tabela não existir, ou a conexão com o banco de dados não existe mais.
Por isso o try…catch. Isto faz com que as exceções e erros possam ser capturados e tratados. Criando outro exemplo (irreal) com o código anterior ficaria algo como:
try
{
ResultSet rs = statement.executeQuery( "SELECT * FROM tTabela" );
}
catch( TabelaNaoExisteException te )
{
System.out.println( "Usuário, esta tabela não existe." );
}
catch( NaoEstouMaisConectadoException ne )
{
System.out.println( "Usuário, a conexão com o banco de dados não existe mais." );
}
O java detecta, durante a compilação, se o médoto que vc está chamando pode levantar uma exceção. Caso positivo ele obrigado que vc utilize o try…catch. No caso, o método que você está chamando tem essa característica.
O único tipo de exceção que não gera essa necessidade é a exceção em tempo de execução.
vc está dizendo: O metodoQualquer pode fazer qualquerCoisa, mas pode ser que ele não consiga fazer qualquerCoisa. No caso de ele não conseguir fazer o que ele propõe, o ideal é lançar uma exceção avisando quem o chamou que ele não conseguiu fazer o que ele havia proposto.
Por isso, o metodo do iText está te dizendo:
vou gerar um PDF mas pode ser que eu não consiga!
então no catch vc deve colocar o que fazer quando o metodo não conseguir gerar o pdf.
Exemplo:
try {
geraPDF();
System.out.println("Conseguí gerar o PDF");
} catch( Exception e ) {
System.out.println("Usuario, eu nao consegui gerar o PDF");
}