on 09-21-2007 6:35 AM
Hi
Experts.
I am trying to connect my webDynpro with oracle.
I had already included Jar at both places.
now I want to display in exception that which error is coming?
I had already written <b> ex.printStackTrace(); </b>
but it is not working.
Code Is given Below.
Connection conn=null;
try
{
wdComponentAPI.getMessageManager().reportException("after 0",false);
Class.forName("oracle.jdbc.driver.OracleDriver");
wdComponentAPI.getMessageManager().reportException("after 1st",false);
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
wdComponentAPI.getMessageManager().reportException("after 2nd",false);
conn =DriverManager.getConnection ("jdbc:oracle:thin:@Server IP:1521:adaniinframs","scott", "tiger");
wdComponentAPI.getMessageManager().reportException("after 3",false);
Statement stmt=conn.createStatement();
wdComponentAPI.getMessageManager().reportException("after 4",false);
ResultSet rs=stmt.executeQuery("select ename from emp where empno=7369"); // select statment
wdComponentAPI.getMessageManager().reportException("after 5",false);
while(rs.next())
{
wdComponentAPI.getMessageManager().reportException("after 6",false);
IPrivateDatabaseConnectView.INodeEmpElement a = wdContext.createNodeEmpElement();
a.setEmpName(rs.getString(1));
a.setEmpJob(rs.getString(2));
wdContext.nodeNodeEmp().addElement(a);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
conn.close(); // closing the connection
}
catch(Exception e)
{
ex.printStackTrace();
}
}
Regards
Sunny.
I don't think the user may see anything if you execute e.printStackTrace(); so what you have to do is report an exception with the text of the stack trace:
IWDMessageManager manager = wdComponentApi().getMessageManager();
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String message = sw.toString();
manager.reportException("Excepcition raised: " + message, false);
With this you will report the whole stack trace. If you want to get only the cause you will have to parse the message string. e.getMessage() should do this for you but if doesn't return anything quite often.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
better you first use the
catch(SQLException sqe){
wdComponentAPI.getMessageManager().reportException("SQL Exception Occured.................: "+sqe.getMessage(),true);
System.out.println("SQLException cought........"+sqe);
}
Then use catch for general exception
catch(Exception ex){.............
............
}
Regards
Abhijith YS
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sunny,
ex.printStackTrace(); will not work.
Try this
try
{
......
}
catch(Exception ex)
{
wdComponentAPI.getMessageManager().reportException("Given Exception : "+ex.getMessage(),true);
}
Regards,
Mithu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.