3

For years now I've quietly kept notes on how to react to the more arcane exceptions our in-house developed system throws at us as we develop under it. I've discovered that other developers are doing this as well and have decided we need to create a place to share these notes.

We use Eclipse and I'd love it if someone could point me to an Eclipse plugin that would let us click on an exception in a stack trace and take us to a page associated with that exception being thrown from that class and method. A page where we could read or write up solutions we've found to that exception.

There may be no such plugin, I may have to copy the trace, but I'd settle for just knowing the generic name for such a system so I could go search myself.

2 Answers 2

4

There are systems similar to what you're asking. I don't think there's a well-known generic name for them, I know them as "exception trackers", "exception loggers" or "error catchers". Examples (written in Ruby, clients for many languages):

Unfortunately, none of these offer the feature you asked for: Linking exceptions to known solutions. Neither do Eclipse Plugins exist to integrate them (as far as I know). There are Java clients though:

Even though they don't cover your exact use case, they do provide you with the tools to

  • mark errors as resolved
  • aggregate / merge multiple errors of the same type
  • comment on errors
  • group errors across applications / deployments

They are also built to be extensible (APIs, Plugin systems), so I'm thinking writing an Eclipse Plugin to integrate with them and adding a feature to link exceptions to known solutions should be doable.

0

It sounds like something that you could most easily do with a wiki and there is an Eclipse Wiki Editor plugin that includes the ability to link to local a wiki, you can probably either use that out of the box or adapt it for what you need. There are plenty of wiki servers available, for most platforms, that you can host the wiki on.

I would suggest having a top level page in the wiki with the exception code/number or possibly the descriptive part of the exception if there is no other way. I would then have a page for each type of exception, (starting from your existing set of notes), detailing how you confirmed &/or fixed the problem.

Most, but not all, exception throwing systems have an exception number or code, (sometimes this needs to be explicitly turned on), that is better for an index page as it tends to be quite specific, but if you do not have one you will find that there is a limited set of descriptions for exceptions that get tailored with the line number, file, variable name, etc., and you could index on that.

With the index page open you should be able to follow the links to the exceptions that you already know about and add new ones to the page then detail the investigation on the resulting new page.

3
  • This looks promising but I think it's missing a way to link the stack trace to the page. From what I've read it lets you use eclipse as your wiki browser and embed links in source documents. What I need is to be able to uniquely associate the stack trace with a wiki page. I can't do that by adding a link to the source that threw the exception because that source code is closed to modification. Am I missing something? Will I have to parse the stack trace myself to create search terms? May 17, 2014 at 17:50
  • My thought is if you structure your wiki so that the is an initial page with the exception numbers/codes you can open that page, search for the exception number and follow the link, if it is not there then you can create a new entry, follow the link to the new blank page and start adding details as you find them. May 17, 2014 at 19:00
  • Exception numbers? codes? Do you mean line numbers or name of the exceptions class, name of the throwing class and method? Message sent with the exception? Please show me how you'd structure this. May 17, 2014 at 19:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.