• twamley
  • 20 Points
  • Member since 2011

  • Chatter
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
  • 2

Here's the rub, I want to catch Exceptions but there's always a very small chance a unknown bug gets hit after you release to production and when it does, you want as much info as possible.


If I don't catch an Exception, I get an email with something like the following in it--



caused by: System.NullPointerException: Attempt to de-reference a null object

Class.OpportunityUtils.findBestCustForPid: line 357, column 9
Class.OpportunityUtils.determineCustomerPid: line 189, column 17
Class.OpportunityUtils.determineCustomer: line 70, column 14
Class.DetermineCustomerController.doDetermine: line 38, column 12 External entry point

 That includes a stack trace which pretty much tells me where the problem is.


If I catch the exception and code something like--



	} catch (Exception ex) {
		detRes.status = 'ERROR';
		detRes.message = 'Exception: ' + ex.getTypeName() + ': ' + ex.getMessage() 
		+ ' -- ' + ex.getCause(); 



Than all I get is --



21:11:13.429|EXCEPTION_THROWN|[357,9]|System.NullPointerException: Attempt to de-reference a null object



Is there any way to get the full stack trace from the Exception in the catch?  Then I can print it to debug or maybe put it up on the user's screen.  If I can't see that info, I'm almost better leaving some cases without catch clauses.




I've just updated all of my products to include a default product revenue schedule. However, one product is refusing to allow me to add a revenue schedule. Also, any new product that I add to the system won't allow a revenue schedule. I have NO idea what the problem is.
The Error turns up on the Revenue Schedule Type field, and comes up regardless of the options I put in. Also, bizarrely, I had no problems at all with the other products. I simply can't understand it.
Has anybody else had this problem?