Erro de compilação!

Olá pessoal , será que vcs poderiam me ajudar…estou com um probleminha…na hora que compilo minha classe, ele dá o seguinte erro:

“unreported exception java.lang.ClassnotFoundException ;must be or declared to be thrown”

Class.forName(“org.postgresql.Driver”);
"^ "(este erro e embaixo do ponto nesta linha)
con = DriverManager.getConnection(url, user, senha);
"^ "(este erro e embaixo do ponto nesta linha)
ST_consultadados_assoc=con.createStatement();
"^ "(este erro e embaixo do ponto nesta linha)

O que quer dizer isso??
O que fiz de errado…

Observação:
ja esta declarado os seguites imports :

import java.sql.;
import java.iol.
;

Valeu pessoal!

Felipe.

O método forName pode gerar uma Class ClassNotFoundException, e os outros dois métodos relacionados a banco de dados podem gerar uma SQLException.
Desta forma, é necessário colocar o código dentro de um bloco try/catch.

Exemplo:

try{ Class.forName("org.postgresql.Driver"); con = DriverManager.getConnection(url, user, senha); ST_consultadados_assoc=con.createStatement(); } catch (Exception e) { // tratamento da exceção }

De acordo com a API do JDK para a classe Class:

Throws:
    LinkageError - if the linkage fails 
    ExceptionInInitializerError - if the initialization provoked by this method fails 
    ClassNotFoundException - if the class cannot be located

Eh muito importante pegar o costume de consultar sempre a API.

Rafael

E quando for consultar a API, no caso da necessidade de blocos try/cacth, basta preocupar-se com o que está na linha da declaração do método:

forName

public static Class forName(String className)
throws ClassNotFoundException

Inclusive, não entendi muito bem como a classe só declara “throws ClassNotFoundException” (fui até olhar no código fonte) e pode estar lançando esses dois erros.
Para erros não aplica-se as regras de Exceptions?

Errors nao sao esperados, de maneira alguma, para ocorrerrem. Se ocorrer, eh porque a situacao ta realmente critica no sistema ou no compilador. Por “Errors” nao serem “checked” (derivam de java.lang.error ao inves de java.lang.Exception), o compilador nao vai pedir que voce manipule o problema. Errors, como RuntimeExceptions, nao sao para acontecer.
Creio que esta na declaracao da classe mais para fins de documentacao mesmo.

Rafael