File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Casting caught Exception to Real Type

 
Christopher McCauley
Greenhorn
Posts: 27
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is it possible to catch Exception, cast it the Object Type, lets say ArrayOutOfBoundsException (using getClass() perhaps) and then get the message from that object?

A generic Error / Exception Handler if you will.
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24204
34
Chrome Eclipse IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can call getMessage() without casting it to another class; you'll get the appropriate message. If you mean you want to create a message based on the class, then you certainly could use getClass().getName() to get the name of the Exception class.
 
Christopher McCauley
Greenhorn
Posts: 27
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It seems that everytime I try that, the message returned is '
null' ?.?
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24204
34
Chrome Eclipse IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Unfortunately, some exceptions thrown by the JVM itself traditionally have null messages. This is common for NullPointerExceptions, ArrayIndexOutOfBoundsExceptions, etc.
 
Tony Morris
Ranch Hand
Posts: 1608
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You could always do what one of my long-gone co-workers has done:



Yes, it's true.
 
Jim Yingst
Wanderer
Sheriff
Posts: 18671
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Heh - that's pretty horrid. Though I would point out for Christopher's benefit that if you're trying to extract some sort of String description of an exception, toString() is often a better choice than getMessage() - at least for a "general" catch block that catches something like all Exceptions or all RuntimeExceptions. The toString() method usually gives you the exception class name followed by the message (if that message is not null). In many cases the exception name is the error message (or an important part of it), and so you can't assume getMessage() by itself will be sufficient to give you useful information. Unless you've caught a specific type of exception which is known to have reliable messages (e.g. one you wrote yourself, or have tested enough to trust).
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic