You have to catch the error at GUI level and make it more user- friendly, by using the sql error codes. This way you could handle Internalization fore example.
On Jan 27, 9:56 pm, jomarlla <[email protected]> wrote: > Thanx for the answer Thomas, but I have already used Exceptions in H2 > and as you said It worked. > The problem is: if I use just exceptions with one of my java > functions: > > For example: > select st_Geomfromtext ('POINTT (10 20)'); > > This function throws an exception with this messages: "Unknown > geometry type: POINTT" > > The problem is that for the user is really difficult to find the > message "Unknown geometry type: POINTT" among all the exception > messages, as you can see in the code below. Thats because H2 writes > his exception messages before mine. I though about sending a message > to the user without using exceptions (as postgres can do with raise > notice). If there is any other way I can write my exception message at > the top of the messages please let me know. > > Thanx a lot, > Jose > > select st_Geomfromtext ('POINTT (10 20)'); > Exception calling user-defined function; SQL statement: > select st_Geomfromtext ('POINTT (10 20)') [90105-118] 90105/90105 > (Help) > org.h2.jdbc.JdbcSQLException: Exception calling user-defined function; > SQL statement: > select st_Geomfromtext ('POINTT (10 20)') [90105-118] > at org.h2.message.Message.getSQLException(Message.java:105) > at org.h2.message.Message.convert(Message.java:270) > at org.h2.engine.FunctionAlias$JavaMethod.getValue > (FunctionAlias.java:306) > at org.h2.expression.JavaFunction.getValue(JavaFunction.java:38) > at org.h2.expression.JavaFunction.optimize(JavaFunction.java:59) > at org.h2.command.dml.Select.prepare(Select.java:716) > at org.h2.command.Parser.prepareCommand(Parser.java:235) > at org.h2.engine.Session.prepareLocal(Session.java:415) > at org.h2.server.TcpServerThread.process(TcpServerThread.java:227) > at org.h2.server.TcpServerThread.run(TcpServerThread.java:138) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.h2.engine.FunctionAlias$JavaMethod.getValue > (FunctionAlias.java:299) > ... 8 more > Caused by: org.cartosig.jaspa.io.ParseException: Unknown geometry > type: POINTT > at org.cartosig.jaspa.io.WKTReader.readGeometryTaggedText > (WKTReader.java:648) > at org.cartosig.jaspa.io.WKTReader.read(WKTReader.java:284) > at org.cartosig.jaspa.io.WKTReader.read(WKTReader.java:248) > at org.cartosig.jaspa.Core.getJTSGeometryFromEWKTorWKT(Core.java: > 301) > at org.cartosig.jaspa.JP.ST_GeomFromText(JP.java:243) > at org.cartosig.jaspa.SQL.ST_GeomFromText(SQL.java:393) > ... 13 more > > at org.h2.engine.SessionRemote.done(SessionRemote.java:520) > at org.h2.command.CommandRemote.prepare(CommandRemote.java:70) > at org.h2.command.CommandRemote.<init>(CommandRemote.java:48) > at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java: > 416) > at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java: > 1049) > at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:149) > at org.h2.server.web.WebThread.getResult(WebThread.java:1691) > at org.h2.server.web.WebThread.query(WebThread.java:1274) > at org.h2.server.web.WebThread.process(WebThread.java:430) > at org.h2.server.web.WebThread.processRequest(WebThread.java:183) > at org.h2.server.web.WebThread.process(WebThread.java:236) > at org.h2.server.web.WebThread.run(WebThread.java:193) > > On Jan 27, 8:43 pm, Thomas Mueller <[email protected]> > wrote: > > > Hi, > > > H2 supports only Java procedures and functions. In Java, you could use: > > > throw new SQLException("no connection"); > > > Regards, > > Thomas > > > On Tue, Jan 26, 2010 at 3:32 PM, jomarlla <[email protected]> wrote: > > > Hi everyone, > > > This is my first post in this list and first of all I want to express > > > my gratitude about this fantastic project. I want to say Hi to all > > > the people in this list too. > > > > I do not know how to send a message to the client from a java store > > > procedure, for example: in PostgreSQL (in plpgsql) I can use RAISE > > > NOTICE 'message'. Does H2 have something similar?. I want to send this > > > message from a java store procedure that does not have a reference to > > > the object connection. > > > > Thaxs, > > > Best, > > > Jose > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "H2 Database" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group > > > athttp://groups.google.com/group/h2-database?hl=en. -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.
