Exception behandlung

janosch

Erfahrenes Mitglied
moin

Ich Programmiere gerade ein Java Servlet bei dem ich über ein textfehlt ein SQl-Kommando eingeben kann.Jetzt hab ich aber noch folgenden problem , wenn ich ein falches kommando eingebe bekomme ich immer eine Exception geschmiessen z.B. so eine:
PHP:
500 Servlet Exception

java.sql.SQLException: You have an error in your SQL syntax.  Check the
manual that corresponds to your MySQL server version for the right syntax
to use near 'dsfs' at line 1
	at com.caucho.jdbc.mysql.DatabaseConnection.readStatus(DatabaseConnection.java:590)
	at com.caucho.jdbc.mysql.DatabaseConnection.fillResult(DatabaseConnection.java:423)
	at com.caucho.jdbc.mysql.DatabaseConnection.execute(DatabaseConnection.java:359)
	at com.caucho.jdbc.mysql.Statement.execute(Statement.java:164)
	at com.caucho.jdbc.mysql.Statement.execute(Statement.java:145)
	at com.caucho.jdbc.mysql.Statement.executeQuery(Statement.java:124)
	at inf594.AccessDB.doGet(AccessDB.java:55)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
	at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:113)
	at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)
	at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
	at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
	at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
	at com.caucho.server.port.TcpConnection.run(TcpConnection.java:323)
	at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:430)
	at com.caucho.util.ThreadPool.run(ThreadPool.java:377)
	at java.lang.Thread.run(Thread.java:534)

Nachdem die exception geworfen wurde kann ich nix mehr in das Textfehlt eingeben will heisen es steht nur noch die Fehlermeldung da.
Was muss ich jetzt in meinem Code ergenzen damit eben das nicht mehr passiert bzw. wie stelle ich es an das mir die Fehlermeldung unter dem textfehlt ausgegeben wird so das ich aber immer noch etwas in das textfehlt eingeben kann.

So solte es aussehen:
PHP:
Textfehlt:
-----------------------------
|                           |
|                           |
|                           |
|                           |
-----------------------------

Button:senden Button: reset

Fehlermeldung:
java.sql.SQLException: You have an error in your SQL syntax.  Check the
manual that corresponds to your MySQL server version for the right syntax
to use near 'dsfs' at line 1


mfg janosch
 
Zuletzt bearbeitet:
Leg doch einfach einen try-catch-Block um die Anweisung, die den Fehler verursacht. Falls aus der Anweisung andere Dinge hervorgehen, sollten diese auch noch in dem Block behandelt werden.

Code:
try {
  // Hier Deine Datenbankoperationen...
}
catch(SQLException) {
  // den Fehler behandeln.
}

Falls Du eine IDE wie Eclipse benutzt, sollte diese Dich eigentlich darauf aufmerksam gemacht haben, dass die Methode möglicherweise einen Fehler verursachen kann.
 
Zurück