Slashdot Mirror


Free Web-Based Exception Reporting

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?"

17 of 145 comments (clear)

  1. exceptions? don't use 'em by Anonymous Coward · · Score: 5, Funny

    I don't like exceptions because you have to catch them. Exception based coding is for amateurs.

    Real professionals like me, who graduated at the top of his class from Rockhurst College in Kansas City, a top college - pass return codes around rather than do all that exception baloney.

    And it is some big time BALONEY.

    1. Re:exceptions? don't use 'em by mysticwhiskey · · Score: 5, Funny

      And the exception's travelling far out-field, up, up , up! Yes, there's the AC, he's under it, almost a certain catch! NO! He doesn't catch it! What's this? He writing on post-it note! He hands it to the umpire... let's switch to the umpire-cam... and the result is... "Code -99 : Exception not caught, glove object not instantiated".

      --

      Stuck down a hole! In the middle of the night! With an owl!

    2. Re:exceptions? don't use 'em by Jeremy+Singer · · Score: 5, Insightful

      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.

    3. Re:exceptions? don't use 'em by Fred_A · · Score: 3, Funny

      Well, as long as people from Kansas use more SOAP, I'm all for it.

      (ducks and runs)

      --

      May contain traces of nut.
      Made from the freshest electrons.
  2. Hmm by elronxenu · · Score: 4, Insightful
    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?

    1. Re:Hmm by /ASCII · · Score: 4, Insightful

      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.

      --
      Try out fish, the friendly interactive shell.
    2. Re:Hmm by swillden · · Score: 4, Insightful

      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?

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  3. [sarcasm]what a great idea![/sarcasm] by aranganath · · Score: 5, Insightful

    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.

    1. Re:[sarcasm]what a great idea![/sarcasm] by flatface · · Score: 3, Funny

      [Informative]Yes he is.[/Informative]

  4. Only 100 exceptions? by CyricZ · · Score: 4, Insightful

    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.

    --
    Cyric Zndovzny at your service.
    1. Re:Only 100 exceptions? by tgd · · Score: 4, Funny

      Do not put a link to this post on your resume.

      Trust me.

  5. A better solution by jdh28 · · Score: 4, Informative

    This application is better in that it collects all the relevant information into a zip file (including a stack dump), and helps the user to e-mail it to you. It works in C/C++ (Windows only) and doesn't require any third party involvement.

    We use it in a deployed product and it works very well.

    john

  6. Re:It's a solution, but not a complete one by ledow · · Score: 4, Insightful

    "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

  7. whatever happened to.... by amodm · · Score: 4, Interesting

    old style logging. why not just log the exception to a file (as its usually done), and mail it to the programmers at a regular interval. why waste so much of bandwidth, especially in the case where things go horribly wrong and exceptions are thrown just about everywhere.

    also, is this mechanism asynchronous ? coz synchronous would mean a lot of latency added to that particular thread, since things are now getting reported to some remote portal.

    IMHO, its just another wasteful use of web services. just coz its the fashionable term these days doesn't mean it should be used for all purposes.

    web services for exception reporting.....aarrgghhhh !!!

  8. Great, but have to be careful by CrazedWalrus · · Score: 4, Insightful

    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.

  9. Re:It's a solution, but not a complete one by arkanes · · Score: 4, Informative

    The minidumps generated by XP are actually extremely powerful, assuming you've got good project management. You can load up the minidump in a debugger and it will restore the application state at the time of the crash. It can load the debugging info and symbol maps from local files, so you can still ship release binaries.

  10. Re:It's a solution, but not a complete one by Darkling-MHCN · · Score: 5, Informative

    I once had an issue with my compaq blue screening returning out of sleep mode, I'd installed every update on compaq's website and scoured the net for a solution.

    One day out of sheer desparation I decided to send the report off to Microsoft and to my surprise it came back with a link to a support website giving very obscure step by step instructions which magically resolved my problem.

    I don't often get exceptions in windows where I'm at a loss for an explanation as to the cause, but in future when I do I'll definitely be posting them to Microsoft.