Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Free Web-Based Exception Reporting 145

Tsar writes "Promethean Personal Software (makers of Sherpa, a code generating tool for db apps) have quietly released ExceptionCollection, a free (as in beer) online service for developers using any SOAP-enabled environment. You sign up on the site, download their component, add three or four lines of code to your app, and any exceptions thrown by your users get logged at ExceptionCollection.com for your later perusal (the last 100 anyway). There are several options, like whether reporting requires user approval. Is this as cool as it looks, or a solution in search of a problem?"
This discussion has been archived. No new comments can be posted.

Free Web-Based Exception Reporting

Comments Filter:
  • Hmm (Score:5, Insightful)

    by elronxenu ( 117773 ) on Wednesday September 14, 2005 @08:12AM (#13555926) Homepage
    Let me see if I have this straight. You run a SOAP server, and you use this vendor's library so that your users (who are presumably remote to you, but running your code) will report their exceptions to the vendor's database, which you can query later.

    Why don't you just add one more function to your SOAP server and have your exception handler connect to that?

  • by aranganath ( 638813 ) on Wednesday September 14, 2005 @08:16AM (#13555950)
    I can't think of any reason NOT to send detailed information about where my application is broken and possibly exploitable to one centralized location that I maintain no control over.

    I wonder what they do with their exceptions.
  • by CyricZ ( 887944 ) on Wednesday September 14, 2005 @08:21AM (#13555993)
    It only allows the developer to see the last 100 exceptions? That might be fine and dandy for a site that only receives 100 hits per day. But when you're running an enterprise-grade site that gets 5 or 6 million hits on a slow day, 100 exceptions will basically be nothing. You could probably sit there and refresh the list of exceptions, getting a completely new list each time.

  • by ledow ( 319597 ) on Wednesday September 14, 2005 @08:23AM (#13556012) Homepage
    "but I don't know anyone who actually sends in bug reports when an application crashes in XP"

    There are several reasons for this... you almost never get any sort of reply, most users are practically incapable of writing a useful bug report (what were you doing, what did you click, etc.) and from what I see the majority of the information in an XP error report such as this is just some processor states and a few technical details.

    I fail to see how anyone but a machine code professional would decode the XP reports, or how they would know what state the machine was in or why it crashed. The open-source project, OpenTTD, had this same feature for a while until it was scrapped when they realised that no-one could interpret the results or, if they could, it was far too complex, far too time-consuming and far too vague to the programmers.

    I'm not saying you COULDN'T make the debug reports much better but then you're basically building every executable in a debug state, i.e. massively bloated and not as good performing, even if you go the highly-manual route and go through the code putting in printf's for each procedure entrance.

    Bug reports are invaluable to a programmer but they need to be the right type. Spending 7 hours to trace the machine code route through a hex dump to find that someone was running it on a machine with a corrupt DLL is a massive waste of resources.

    Getting experienced beta- and alpha- testers to submit a detailed, reproducible, bug where you can actually ask them to try patches out for you is amillion times more useful
  • Thanks, but.... (Score:3, Insightful)

    by barzok ( 26681 ) on Wednesday September 14, 2005 @08:29AM (#13556046)
    I think I'll stick with recording my exception logs in my own database where I have some measure of security around it, and can look at all of them, not the last 100.
  • Re:Hmm (Score:5, Insightful)

    by /ASCII ( 86998 ) on Wednesday September 14, 2005 @08:29AM (#13556050) Homepage
    Adding this functionality to your code means creating the database, designing an interface to recieve exceptions, an administrative interface to view reported exceptions, setting up a clientside exception handler and a piece of code for marshalling the expception to the server.

    Either that or just register with the site, download a small package and add four lines of code to your program.

    So this saves you a few hous work, but costs you confidentiality, full control over the exception database and injects non-free code into your software.

    Overall, a pretty louse tradeof.
  • by CrazedWalrus ( 901897 ) on Wednesday September 14, 2005 @08:37AM (#13556089) Journal
    I used to do something like this using my personal web site. I didn't use it for exception reporting -- just for publishing generic statistics about our production stream. I could then monitor them remotely from my cell phone's web browser.

    The key thing to be concerned about (as others have observed) is that any messages sent must be sufficiently generic so as not to give away vital information to the outside world.

    When I published my stats, I used abbreviations that only I understood followed by percentages. That's it. If someone else saw it, they wouldn't understand it, and, even if they did, it was just non-vital aggregate information that wouldn't do them any good anyway.

    This is the maximum level that such exception reporting could (wisely) rise to, and, as such, would be of limited value. I know from my own experience at large companies that log/exception output tends to contain things like userIDs, passwords, and server names, which could easily find itself passed along through these folks' API.

    For this reason, it seems like a good service if installed internally, but a bad idea beyond proof of concept for anything larger than a mom-and-pop, where a single programmer knows and understands the whole system and can send sufficiently vague exceptions.
  • by Jeremy Singer ( 717636 ) on Wednesday September 14, 2005 @08:44AM (#13556129)
    What if your code throws some exception you weren't expecting, even though you use return codes?
    Examples:
    1. Your code invokes a method on an object you didn't code, and it throws an exception. Wouldn't it be nice to know where the exception happened?
    2. You made an unanticipated mistake! Your code throws a null pointer exception. Of course, if you are perfect, this never happens.
  • by Pants75 ( 708191 ) on Wednesday September 14, 2005 @08:45AM (#13556131)
    Remember to strip out an connection strings/password etc from you exception info if you're think of using this...

    Why you would, I don't know. But still.

    Pete
  • by Anonymous Coward on Wednesday September 14, 2005 @08:49AM (#13556157)
    Wouldn't you be able to catch either of those in debug?

    A more logical response to an exception than graceful handling is actual handling. If you run out of memory, what will you do? If you are receiving null pointers, how can you stop the sender from doing that? If your program is calling an unimplemented function, why isn't your linker catching it?

    Exceptions are a way of making easily found bugs difficult to find. They move the instruction pointer far away from the actual error, and unroll the stackframe needlessly.
  • Log file & safety (Score:3, Insightful)

    by jurt1235 ( 834677 ) on Wednesday September 14, 2005 @08:51AM (#13556170) Homepage
    Just keeping the exceptions in the logfiles so you can literary put anything in the exception what you want, not having to wonder if some debug information which happens to be equal to a clients transaction wanders around on the network or even the internet. Plus logfiles can be analyzed too, enough handy tools around for that too (I use vi).
  • Re:Hmm (Score:5, Insightful)

    by swillden ( 191260 ) * <shawn-ds@willden.org> on Wednesday September 14, 2005 @09:10AM (#13556314) Journal

    Adding this functionality to your code means creating the database, designing an interface to recieve exceptions, an administrative interface to view reported exceptions, setting up a clientside exception handler and a piece of code for marshalling the expception to the server.

    Or you could just write a top-level exception handler that e-mails the exception traces to you.

    That's one option, but there are lots of other simple approaches that all start with "Catch the exception, put its text into a file and then...". Why complicate this with a database and a custom viewing interface?

  • by Pulse_Instance ( 698417 ) on Wednesday September 14, 2005 @09:17AM (#13556370)
    If your getting anywhere that many exceptions a day it is high time that you invest some money in testing. Whether this testing be having the developers take some training in what testing actually is or having actual testers do the job, either option will save you time and money in the future.
  • by danhirsch ( 904306 ) on Wednesday September 14, 2005 @10:12AM (#13556870)
    Further if an enterprise site is using a freebee exception tracking service...well..I really don't have to say anything do I.
  • Because ... (Score:3, Insightful)

    by PetoskeyGuy ( 648788 ) on Wednesday September 14, 2005 @10:47AM (#13557161)
    You'll end up paying them for use of the patent anyway.
    Copyright 2005, Promethean Personal Software

    Patents pending.

Old programmers never die, they just hit account block limit.

Working...