Erro

Olá javanesses…

Estou fazendo uma clase que executa um select e retorna o ResultSet…
Está dando o seguinte erro…

“Get_ResultSet.java”: Error #: 360 : unreported exception: java.sql.SQLException; must be caught or declared to be thrown at line 24, column 11

Abaixo segue a classe…


package Fast_Pdv;

import java.sql.*;
import java.io.*;
import com.hxtt.sql.*;


public class Get_ResultSet {
  private String cConexao = "com.hxtt.sql.dbf.DBFDriver";
  private String cDriverUrl = "jdbc:DBF:/";
  private Connection cConn;
  private ResultSet rsResult;
  private Statement stmt;

  public void Close_ResultSet(){
    cConn.close();     //Dá o erro aki!!!
    stmt.close();       //aki!!!
    rsResult.close();  //e aki!!!
  }

  public ResultSet Get_ResultSet(String cSql,String cPath) {
    try{

      Class.forName(cConexao).newInstance();
      cConn = DriverManager.getConnection(cDriverUrl+cPath);
      stmt = cConn.createStatement();
      rsResult = stmt.executeQuery(cSql);

    }
    catch(Exception e) {
       e.printStackTrace();
    }

    return rsResult;
  }

}

kem puder me explicar o porque isso acontece eu agradeço! valeu!!!

Thanks!

SQLException eh uma “checked exception”, o que significa que voce precisa:

  1. Declarar ela no teu metodo usando “throws” ( public void meuMetodo() throws SQLException )

  2. ou colocar o codigo dentro de um try-catch

Uma ultima coisa: tente colocar um “subject” apropriado, pois ajuda na identificacao. “Erro…” eh algo generico demais.

Rafael

ola,

Isso acontece porque quando um método lança uma excessão você deve necessariamente trata-la, bem, pelo menos declarar o bloco de tratamento (catch) mesmo que vazio.

public void Close_ResultSet(){ try { cConn.close(); //Dá o erro aki!!! stmt.close(); //aki!!! rsResult.close(); //e aki!!! } catch(java.sql.SQLException) { //faz nada } }