UnknownHostException

Status
Nicht offen für weitere Antworten.

BigBoss

Aktives Mitglied
hi,
ich hab vollgenden prob

ich baue eine datenbank verbindung mit jdbc auf was alles geht nun will ich die exception abfangen wenn ein unebkannter host eingetragen wird aber da bekomme ich immer eine fehlermeldung
"Unreachable catch block for UnknownHostException. This exception is never thrown from the try statment body"
was soviel ich verstehe heißt das die UnknownHostException niemals von try gebracht wird. wenn ich aber einen falschen host angebe bekomme ich die??? hat einer ne idee wie ich die fehlermeldung wegbekomme?

Code:
public Connection Open(String host, String port, String dbName, String user, String passwd, int debug)
	{
		Connection conn = null;
		try
		{
			Class.forName("org.gjt.mm.mysql.Driver");
		}
		catch(ClassNotFoundException cnfe)
		{
			System.out.println("Treiber kann nicht geladen werden: " + cnfe.getMessage());
		}//ende try/catch
		try
		{
			conn = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + dbName, user, passwd);
			verb = conn;
			if(conn != null && debug != 0)
			{
				System.out.println("Verbindung mit " + host + ":" + port + " hergestellt!");
			}//ende if

		}
		catch(UnknownHostException uke)
		{
			System.out.println("unbekannter Host");
		}
		catch(SQLException sqle)
		{
			System.out.println("[FEHLER]: Verbindung ist fehlgeschlagen: " + sqle.getMessage());
		}//ende try/catch
		return conn;
	}//ende connect

thx BB
 

BigBoss

Aktives Mitglied
hmm wie kann ich diese exception dann abfangen???
ich bekomme sie ja als exception ausgegeben wenn ich einen falschen host eingebe!???
mfg BB
 

moormaster

Top Contributor
BigBoss hat gesagt.:
hmm wie kann ich diese exception dann abfangen???
ich bekomme sie ja als exception ausgegeben wenn ich einen falschen host eingebe!???
mfg BB

Code:
 try {
  ...
 } catch (SQLException e) {
   //hier gehört die Auswertung der Exception, die vom Datenbanktreiber geworfen wurde, hin.
   // Dieser KANN an dieser Stelle keine java.net.UnknownHostException werfen, sondern ein unbekannter Host
   // wird in einen Fehlertyp als int kodiert und kann per getErrorCode() von der SQLException abgefragt werden.
   // welcher Fehlercode dabei für welchen tatsächlich aufgetretenen Fehler steht, ist in der Dokumentation des jeweiligen
   // Treibers zu finden/suchen
 }
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben