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

145 comments

  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 RabidMonkey · · Score: 1

      See, now, I read this and I go 'hey, I use return codes for everything I do' ... so I have to ask, what are the exceptions you speak of?

      I'm not a programmer, I'm just a lowly admin type, so don't abuse me. I'm not up on my programming techniques. /dumb.

      --
      We emerge from our mother's womb an unformatted diskette; our culture formats us. - Douglas Coupland
    3. Re:exceptions? don't use 'em by mustafap · · Score: 1

      Return codes? bah. What do you think void was invented for?

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    4. 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.

    5. Re:exceptions? don't use 'em by Anonymous Coward · · Score: 2, Insightful

      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.

    6. 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.
    7. Re:exceptions? don't use 'em by TimElliott · · Score: 1

      Rockhurt, Top College? Pfft. That's why it hides under the shadow of UMKC! ( I saw some replies that were confused, Kansas City is in Misosuri -- not Kansas )

    8. Re:exceptions? don't use 'em by didde · · Score: 1

      Does your compiler/linker also check databases and their structure? Does it perhaps check external db's far away from your control?

      Do you like having dangling connections all over the place? No. I didn't think so.
      String sql = null;
      MyDBConnector db = null;

      try {

      sql = "insert into customers values(1, 'Acme Inc');";
      db = new MyDBConnector();
      db.statement.executeUpdate(sql);

      } catch(SQLException ex) {
      Log.write("SQL error: \"" + ex.getMessage() +"\" while running \"" + sql + "\"");
      } catch(Exception ex) {
      Log.write("\"" + ex.getMessage() +"\" while running \"" + sql + "\"");
      } finally {
      if(db != null)
      db.close();
      }
    9. Re:exceptions? don't use 'em by Anonymous Coward · · Score: 0

      So you just silently log the exception if an insertion error occurs? You keep merrily on your way if you can't create a new MyDBConnector?

      Notice that you have added an entire new exception handling syntax to a very straightforward operation that would be better served with error checking.

      String sql = null;
      MyDBConnector db = null;

      sql = "...";
      db = new MyDBConnector();
      if (db == null) // handle uninstantiated db. either fix the problem quietly or give user error message and close up gracefully // we know db is good
      err = db.statement.executeUpdate(sql);
      if (err) // handle error code

      db.close();
      }

    10. Re:exceptions? don't use 'em by Anonymous Coward · · Score: 0
      Cool! I haven't seen anything so deserving of a +1 troll, for quite awhile.

      Congrats!

    11. Re:exceptions? don't use 'em by pAnkRat · · Score: 1

      This works fine if you open a new DB connection for every update.
      If you go into connection pooling,
      or do other things in your programm between "new DBConnection()" and Update() you might be screwed if the (remote) database suddenly stops accepting your requests, or drops your connection.

      Another "good thing"(tm) about exceptions (at least in Java) is that as a toolset or library devolper I can indicate that my method might run into an exception.
      This way, every devolper using my methods must handle the exception in his programm.

      Unfortunenatly this mostly results in:
      log("an error occured while executing update...");
      return null;

      But at least the programmer is reminded that these things _can_ happen.

      Having to use code where _every_ method throws at least 2 exceptions is (ofcource) a major pain in the ass.

      As allways there are up and downsides to exception throwing,
      but if used correctly it is actualy very usefull.

      --
      we need an "-1 Plain wrong" moderation option!
    12. Re:exceptions? don't use 'em by Anonymous Coward · · Score: 0

      I have been of course just been playing devil's advocate (advocate against something? that doesn't make sense!) against the use of exceptions. Used well, especially as you described, in libraries, they are useful and helpful for developers to catch any uncontrollable problems that may occur outside their own code.

      However, as in the original example, many times exceptions are used as a way of brushing problems under the carpet instead of a means of trapping problems and fixing them. Also, many times the handling code is way back up the callstack that the exception can't be reasonably handled without retracing your way back down to the function that originally died.

      So they get an exception during update. Well, hell, we can just cleanly bomb out and return to a valid known state. Now that may be useful. Better to be back to a known state than an undefined state, but without actually having handled the problem, you've just quietly swept it under the rug.

      Error handling needs to happen right where those problems occur. Maybe I can't help that a remote database suddenly stopped working correctly, but I can sure as hell find out and maybe do something about it if I can catch it when it happens.

      Also, maybe you create a connection, do some preliminary calculation, then send the results to the remote object. What happens when the remote object dies while you are doing the calculation? Well, you go to the exception handler, but then you have to go through the whole method again if you want to make sure this data was sent. It would be better, in such a case, to wrap each remote function call with an exception handler that could catch any and all errors that occur during the call. This already exists in the form of error return values, though.

      It really comes down to defensive programming (which is the best best practice, but the least of the least-used practices). Exception handling is an interesting way to handle runtime errors. I think that it makes code both more difficult to write (it adds the overhead of having to write *good* exception handlers) and more obtuse (how many exceptions are just GeneralException instead of something more detailed?). Of course in a real life program, it is not exactly the best user experience to have a program bomb out on you, and it shouldn't. Exception handlers are wonderful for controlling this type of thing. But for debugging purposes, knowing what happened, where it happened, and whether you may need more special handling code is just as important.

      In general, even an error return code is a type of on-the-spot exception handler. So it's not like we're arguing cross-purposes here. After all, what's the operating system's "ASSERT: proc=0xFOOBAR exc=0xBADDUDE addr=0xTOTLYFKD" message than the last exception handler an application will see before dying? :-)

  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. Re:Hmm by b100dian · · Score: 1

      How do you know I have a soap server?
      And what's a soap server anyway?

      --
      gtkaml.org
    4. Re:Hmm by dj245 · · Score: 1
      Overall, a pretty louse tradeof.

      So the code is full of lice then? Must be pretty buggy

      --
      Even those who arrange and design shrubberies are under considerable economic stress at this period in history.
    5. Re:Hmm by should_be_linear · · Score: 2, Interesting

      Or you could just write a top-level exception handler that e-mails the exception traces to you.
      This is quite bad idea because you must have UI for setting up smtp, port (proxy?) username, password.... In the end, all most users would see when exception occures is "Unable to connect to SMTP sever x".

      --
      839*929
    6. Re:Hmm by bwalling · · Score: 1

      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?

      Volume and reporting. If your app is used enough, the volume is too great for email. It's nice to have some reporting features so that you can see troubled components or even troubled users.

    7. Re:Hmm by Rycross · · Score: 2, Informative

      Not if its a web application. We use this system at my work place, with the addition of generating an RSS feed from the emails. Basically, when we put the app on production, we just have to change the smtp server property in our web.config to point to the correct smtp server.

      If you're running an actual local application, then you'll run into problems. But if you have clients that work in one area (say, a custom in-house application), then the exception reporting works beautifully. Its really quite a good system for the majority of applications.

    8. Re:Hmm by Nik13 · · Score: 2, Informative

      If someone is using .Net then there is something FAR better already (it's not new either): the EMAB [Exception Management Application Block], which is part of the Microsoft Enterprise Library. You get the full source code, and it has been tested extensively. They're very well documented (lots of articles on the web too) and come with samples and everything you need to get started. It's easier to setup and use (imho). Publishing exceptions take only 1 line of code (in your catch blocks), and it's far more flexible than this - it can publish your exceptions in different ways (to a database, email, etc). You can change the configuration to publish it in other ways anytime you please. It's a good, consistent and easy way of handling exceptions.

      As a bonus, you get 6 extra application blocks if you want to use them: caching, configuration, cryptography, data access, logging and instrumentation, security. They're quite useful and can speedup development.

      You get to log as many errors as you please, no privacy issues or any of that stuff.

      --
      ///<sig />
    9. Re:Hmm by kpat154 · · Score: 1

      ...or you could just download log4net, add a few lines of code to your app, and use notepad as your wizbang administrative interface.

      Seriously, could they overkill exception logging to any greater degree? You want me to make a remote call to a 3rd party web service just so I can read my own exceptions??

    10. Re:Hmm by alnjmshntr · · Score: 1

      means creating the database, designing an interface to recieve exceptions, an administrative interface to view reported exceptions In windows there is the event log and writing code to write to the event log is trivial.

      --
      If I had created the world I wouldn't have messed about with butterflies and daffodils. I would have started with lasers
    11. Re:Hmm by hugg · · Score: 1

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

      You see, these SOAP servers go to eleven.

    12. Re:Hmm by swillden · · Score: 1

      Volume and reporting. If your app is used enough, the volume is too great for email.

      This service only tracks the last 100 exceptions anyway.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    13. Re:Hmm by nacturation · · Score: 1

      This is quite bad idea because you must have UI for setting up smtp, port (proxy?) username, password.... In the end, all most users would see when exception occures is "Unable to connect to SMTP sever x".

      Since you want it to report back to *you*, your SMTP server information would be in there, and no username/password would be required. Granted, this may fail in firewalled situations but given a large enough user base you should get enough reports from people who aren't firewalled that it won't matter statistically.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  3. It's a solution, but not a complete one by ReformedExCon · · Score: 2, Interesting

    There is a definite market for something like this. Knowing what exceptions your application is generating at runtime "in the wild" is very valuable to help debug and speed bug fixes.

    The only problem is that it would be much more convenient if the exception were sent directly to the application makers instead of to some third party. Microsoft's error reporting system is somewhat like this, but I don't know anyone who actually sends in bug reports when an application crashes in XP. Likewise, Firefox used to have a quality feedback agent, but I never saw it pop up or notify me in any way. Maybe it is silently calling home?

    If your users are your testers, it's very important that you get as much detailed information from any problems that arise as you can. Ideally these bugs would have been fixed before it ever hit the doors, but in this day and age of rapid development and short production cycles, it's sometimes better to give a working version to the customer and update it periodically.

    --
    Jesus saved me from my past. He can save you as well.
    1. Re:It's a solution, but not a complete one by jalet · · Score: 1

      > The only problem is that it would be much more
      > convenient if the exception were sent directly to
      > the application makers instead of to some third
      > party.

      Exactly what I've done for one of my own software. This is REALLY wonderful. Each time the app crashes I (by default) receive an email with a copy to the local admin as configured by him.

      Of course for privacy reasons, this is NOT activated by default. The admin MUST change the configuration file for the thing to be activated, and of course he CAN CHOOSE WHO will receive the complete exception traceback (including a dump of the environment and command line arguments).

      This helped me fix bugs as soon as someone encountered them on multiple occasions.

      --
      Votez ecolo : Chiez dans l'urne !
    2. 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

    3. 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.

    4. Re:It's a solution, but not a complete one by archeopterix · · Score: 1
      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.
      Even a simple stack trace can be very useful, even from non-debug binaries. You don't need the symbol information in the distributed binary. The address->symbol map you can keep at home and merge it after the trace arrives.

      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
      Collecting errors is no substitute for professional testing, but it can save you time on getting to bugs thay you don't test for, like your app crashing on Chinese version of Windows, with some DLLs replaced by the newest Office version.
    5. Re:It's a solution, but not a complete one by Skjellifetti · · Score: 1

      I once called IBM to let them know about a bug in OS/2. The bug was from a third party app that used the serial drivers and caused an OS/2 equivalent of a BSOD. I'd figured out why this happened, found a work around, and thought I'd let IBM know about both the bug and the solution. The report was an altruistic attempt to help IBM make their software better for everyone. My mistake. The first words out of the IBM rep were "Your 90 days of free support start now."

    6. Re:It's a solution, but not a complete one by slimey_limey · · Score: 1

      Microsoft's internal "Watson" website is pretty cool. It automatically generates an annotated backtrace and identifies the specific function/DLL that the crash came from. The site also graphs hits/day on a specific fault bucket, DLL, routine, or project.

    7. Re:It's a solution, but not a complete one by qray · · Score: 1

      When Netscape was using Talkback I found it quite useful. It provided stacks that often pinpointed errors. It was also good for identifying problems quickly. Reports were provided that identified top crashers. And there's little substitute for crashes that are hard to impossible to reproduce due to hardward and software variations.

      For talkback or Win32 minidump you don't need to build debug either. You just build with symbols in a release mode and then strip off the symbols before you ship. Save those symbols and source together and it's pretty easy to get back. Talkback will actually take the debug symbols and map them back when the reports come in. For Win32 you can bring up the minidump in a debugger and view the source at the crash site as well as memory depending on how the mini dump was configured.

      I've used Win32 crash info IP and stack data to reconstruct a crash. It's not all that difficult if you have the source to the build that crashed.

      --
      igtor ridrack midew widrop

    8. Re:It's a solution, but not a complete one by seweso · · Score: 1

      A friend of mine got a serious response after he sent the automated crash report to Microsoft. He got some message that he should update some driver. That is pretty freaky. The reaction was instantaneous so it is a computer-program for sure :D

    9. 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.

    10. Re:It's a solution, but not a complete one by Hal_Porter · · Score: 1

      I got the same thing with my laptop Intel graphics chip. It even pointed me to the location of an updated driver on the Intel website.

      It's a nice idea actually - the minidump contains a stackframe, version info and the exception code, and it's probably pretty easy to write a script to spot known errors if you have that.

      The really slick thing is that the machine didn't crash - it switched back to the VGA driver in 640x480x16 colour and displayed a dialog box telling me to save. Then I shut down and it contacted Online Crash Analysis which popped up a web page with the updated driver. Apparently some versions of the driver would get stuck in a loop, and XP knows how to detect that.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    11. Re:It's a solution, but not a complete one by Gopal.V · · Score: 1
      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.
      bash$ gdb a.out a.out.core
      Doing it since 99 :)
  4. [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 Anonymous Coward · · Score: 2, Funny

      Are you being sarcastic?

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

      [Informative]Yes he is.[/Informative]

  5. Sounds like a marketing tool to me... by Qui-Gon · · Score: 1, Troll

    We at Promethean Personal Software promise to never share your email address with another organization, but we reserve the right to send you one piece of email ("spam") about our products per week. You can opt out of the service at any time.

    Sounds like I have to "pay" via annoying emails about products... Also, I'm not sure what the advantage is here over a normal bug tracking system. Automatic recording of the Exception message? Blah...

    --

    We are blind to the Worlds within us
    waiting to be born...
  6. ouch... by dumitrius · · Score: 1

    ...sounds like a major security faux pas.

  7. 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 RealityMogul · · Score: 1

      You're generating 5 to 6 million exceptions per day on an enterprise grade site? WOW, just... WOW

    2. Re:Only 100 exceptions? by CyricZ · · Score: 2, Informative

      No, ma'am. Had you read my post you'd see that I had said 5 or 6 million hits. Now consider that even just 1% of those 5 million hits throw an exception. That's 50 000 exceptions.

      More realistically, even if just 0.1% of those 5 million hits throw an exception, you're looking at 5000 exceptions. That's 50 times the number of exceptions this site will list. A whole lot of data is being lost.

      --
      Cyric Zndovzny at your service.
    3. Re:Only 100 exceptions? by niteblade · · Score: 1

      Could you even deal with 5000 exceptions a day? Personally I think 100 exceptions a day would keep most people busy and would probably capture most of the issues with an application (many would be dupes anyway)

      Bob

    4. Re:Only 100 exceptions? by CyricZ · · Score: 1

      Of course it's better to know about them, even if they cannot all be dealt with immediately or there are duplicates.

      If there are a certain exception is thrown perhaps 4500 times out of the 5000 exceptions, then perhaps that's the problem to deal with first.

      Likewise, it may provide useful to know if a recent change is causing problems that weren't caught by the existing testing procedure. Knowing of such problems would allow the testing procedure to be fixed, as well as the code.

      --
      Cyric Zndovzny at your service.
    5. Re:Only 100 exceptions? by Pulse_Instance · · Score: 2, Insightful

      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.

    6. Re:Only 100 exceptions? by RealityMogul · · Score: 1

      I read your post right. I was being an ass.

      But, chances are that if you're getting ANY exception on an enterprise web app, its going to be the same one over and over anyways.

    7. Re:Only 100 exceptions? by danhirsch · · Score: 2, Funny

      "No, ma'am. Had you read my post you'd see that I had said 5 or 6 million hits. Now consider that even just 1% of those 5 million hits throw an exception. That's 50 000 exceptions." If you are even throwing 5k execptions in a day on an ENTERPRISE site...you have more problems to deal with...like learning how to CODE a stable site. If you had a common enough exception for 5000...your going to get allot more than that. Even with 5000 exceptions bad bad things are happening. Fire and brimstone coming down from the skies. Rivers and seas boiling. Forty years of darkness. Earthquakes, volcanoes... The dead rising from the grave. Human sacrifice, dogs and cats living together - mass hysteria!

    8. Re:Only 100 exceptions? by tgd · · Score: 4, Funny

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

      Trust me.

    9. Re:Only 100 exceptions? by danhirsch · · Score: 2, Insightful

      Further if an enterprise site is using a freebee exception tracking service...well..I really don't have to say anything do I.

    10. Re:Only 100 exceptions? by soft_guy · · Score: 1

      Then build your own server. Jeez. This is obviously for people who:

      a) Are not in a position to have their own database getting this information.
      or
      b) Believe that they can get useful information out of the last 100 exceptions.

      --
      Avoid Missing Ball for High Score
    11. Re:Only 100 exceptions? by JVert · · Score: 1

      So the service can have 99% of their resources boggged down by .1% of their clients who think they need 50,000 exceptions to find out whats going wrong?

  8. Great for spyware by G4from128k · · Score: 2, Interesting

    1. Collect data from unsuspecting users of your SOAP code.
    2. Throw an "exception" containing said data.
    3. Automatically harvest the data from ExceptionCollection.com.
    4. Profit.

    I wonder if these people have thought about the insecure/immoral/illegal ways this service could be used and have taken steps to prevent that.

    --
    Two wrongs don't make a right, but three lefts do.
    1. Re:Great for spyware by merpaholic · · Score: 1

      How is this any different from throwing an "exception" and just harvesting the data yourself. I fail to see how they are culpable in any way.

  9. Re:first post by Anonymous Coward · · Score: 0

    Maybe I shouldn't have spent a few minutes staring at the lack of comments wondering whether my world was going to fall apart.

    Fucking thing won't let me post. I hate you all, I'm going to go kill myself now.

  10. 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

  11. Perhaps they should fix their site's HTML first.. by CyricZ · · Score: 0, Troll

    It looks like their site has one HTML error.

    http://validator.w3.org/check?uri=http://www.excep tioncollection.com

    Indeed, I believe it is very important that a company selling a error-detection program take the care and time to ensure that their websites are standards-compliant. It shows that they're concerned with writing correct code, be it HTML or Perl or whatever.

    --
    Cyric Zndovzny at your service.
  12. Thanks, but.... by barzok · · Score: 2, Insightful

    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.

    1. Re:Thanks, but.... by MidNiteSk8r · · Score: 1

      ....I was going to add something to this effect, because I think that I Should manage my OWN code - ESPECIALLY if there is a problem to be corrected.

    2. Re:Thanks, but.... by Anonymous Coward · · Score: 0

      This service is certainly not aimed at server-side apps, of course, where "collecting" exceptions is obviously not an issue. There are many different worlds in s/w develompent: if you release instances of your program to users, then collecting debug information when it crashes can be a problem. That's where this service fits in in my opinion.

  13. 9 developers are registered by Anonymous Coward · · Score: 0

    An exceptional number of users.

  14. similar to BugzScout in FogBugz by smartgo · · Score: 2, Informative

    This sounds similar to the BugzScout support in FogBugz (www.fogcreek.com), except that there the errors get sent to your own database on your own web site, and are not limited to the last 100. Definitely cool and valuable to track where your application is breaking, and have the ability to report back to customers whether a specific problem is fixed, being worked on, or needs help to track down.

  15. 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 !!!

    1. Re:whatever happened to.... by Knossos · · Score: 0

      Well, the whole idea is that all exceptions get sent to the database so that the developer can get EXACT error messages from their applications without having to confuse the user.

      I don't know about you guys, but I've had problems with needing to get precise information from users and all I get is "Well, I got this shiny grey error message". When what you really needed to know was an error number, and where the fault occurred.

      Personally, I think its a great idea, as long as the users have the option to be able to disable the reporter. Otherwise you get into privacy issues and bandwidth stealing arguments.

      Although, if I were going to do this, I'd prefer it sent the data back to my own database. Where I'd have more control over it.

      --
      Android Software Engineer
    2. Re:whatever happened to.... by azaris · · Score: 1

      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.

      Having an app that has nothing to do with e-mail start sending out e-mail is a faux pas. How does it even do it? Does it ask the user for mail preferences? Does it sniff around for an SMTP host? Does it just blast stuff out and run into a firewall? If the user is supposed to do the e-mailing they never will and you might as well not have bothered.

      Of course, having the app do HTTP-SOAP calls is also questionnable, but at least the proxy settings can be dug up from somewhere and the requests secured properly with SSL.

      As usual for /., most of the other comments are simple: "Waah, why must I pay money for a commercial service, waah".

    3. Re:whatever happened to.... by Wudbaer · · Score: 2, Informative

      Huh ? I don't know how you do that in your part of the world, over here we just have a mail component in the server-side software that generates an error email in the exception handler and mails it to an address configured in the server process by some means you like (config file, hardcoded (*ugh*), you name it). Not much more bother than using some remote service.

    4. Re:whatever happened to.... by azaris · · Score: 1

      Well what if it's a desktop app deployed in thousands of sites around the world?

    5. Re:whatever happened to.... by LiquidCoooled · · Score: 1

      The whole topic is about webserver SOAP exceptions.
      The understanding is that you have some control over your own web installation.

      Of course dealing with an end user client installation the rules are a little different, but thats not even part of the discussion here.

      --
      liqbase :: faster than paper
    6. Re:whatever happened to.... by LiquidCoooled · · Score: 1

      *sheepish looks*

      Sorry, i just RTFA, and your right, it deals with clientside environments as well.

      --
      liqbase :: faster than paper
    7. Re:whatever happened to.... by Wudbaer · · Score: 1

      Depends on what you want to do: If you want to use the information only in case of critical errors log to a file/windows system log/whatever and either access it remotely if it's in your intranet or ask the user/on-site admin to mail you the respective info.

      If there are no privacy concerns you just mail the respective exception info to somewhere as described above (sending email from any kind of app should be easy in all current programming environments), and if you want to be nice and want to inform the user about your mailing something to somewhere, you show them some kind of message box asking them for their permission beforehand. In case of a desktop app they should have noticed that something got wrong anyway.

  16. 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.

  17. What are they really doing here? by CastrTroy · · Score: 1

    Most businesses I know have ways of finding out when their application crashes. It's not much harder than putting some code into the page it goes to when you do get an exception, and having it email you things like the stack trace, and other important information. That's just the basic one, but a full fledged web system with database is the other end of the spectrum. Basically stuff like this isn't that hard to implement on your own, and gives you much better control in the end.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  18. Sensitve Info In Exception Information? by Pants75 · · Score: 2, Insightful

    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

  19. solution vs problem? by AnObfuscator · · Score: 2, Funny
    is this as cool as it looks, or a solution in search of a problem?

    Or? What kind of nerd ARE you?! Duh, it's BOTH!

    In fact, a good case could be made that it looks so damn cool BECAUSE it is a solution in search of a problem!

    --
    multifariam.net -- yet another nerd blog
    1. Re:solution vs problem? by TekGoNos · · Score: 1
      Or? What kind of nerd ARE you?! Duh, it's BOTH!
      Thinking or is exclusive? What kind of nerd ARE you?! Duh, "or" means it can be both, otherwise, he'd written xor.
      --
      I have discovered a truly remarkable proof for my post which this sig is too small to contain.
  20. Re:Perhaps they should fix their site's HTML first by mysqlrocks · · Score: 0

    While I agree it's important to have valid HTML it appears the one error on their page is quite small. They used the "name" attribute which they should have left out since they already have an the "id" attribute on one of their forms. I think we can forgive them this one mistake.

  21. Hate fucking hate .rar files! by Anonymous Coward · · Score: 0
    This must be the most boring article on Slashdot ever!

    So, instead of discussing it, I will ask your opinion of .rar files. I fucking hate them. Just yesterday I downloaded new second season episodes of Battlestar Galactica 2003. All in gaziilion .rar files. What the fuck is the deal with .rar? Why can't you just share a single .avi file?

    Don't tell me you post this crap to something obsolete like usenet?

    1. Re:Hate fucking hate .rar files! by orion41us · · Score: 0, Offtopic

      All you need to do is find the master rar file (the one with no #'s at the end of it) when you un-rar that it will suck all the other ones in anc produce one big avi file ;)

    2. Re:Hate fucking hate .rar files! by Anonymous Coward · · Score: 0

      7zip > rar

    3. Re:Hate fucking hate .rar files! by ACORN_USER · · Score: 1

      If you want to compress an archive you use bz2 - that's it. Using gzip would be like picking a Lotus Esprit over the space shuttle.

    4. Re:Hate fucking hate .rar files! by Anonymous Coward · · Score: 0

      You get what you pay for.

    5. Re:Hate fucking hate .rar files! by ltbarcly · · Score: 1

      So you're saying only use gzip if we don't want to a-splode in the upper atmosphere?

    6. Re:Hate fucking hate .rar files! by ACORN_USER · · Score: 1
      No, I'm saying that bz2 is more HOTOL like and represents the optimal root (using standard tools) to compress your tar balls. I mean, if you can't get fanatical about your compression software, what can you get fanatical about? That is, other than your OS, window manager, hardware, shell, development langauge ... etc :)

      Hmm. Do you think that we're at risk of becoming suicide bz2'ers?

    7. Re:Hate fucking hate .rar files! by ltbarcly · · Score: 1

      do you mean optimal route? Pronounced RAUWT?

  22. Re:Perhaps they should fix their site's HTML first by CyricZ · · Score: 1

    Indeed, it isn't a big mistake at all. Yet it's easily caught by just running it through the free W3C HTML validation service, and it's very easily fixed once caught. Had they taken the care to make sure their website contains valid HTML code, then I would have considered using their service in the future. But I'm not sure if I will do so now.

    They do, of course, have a more standards-compliant webpage than the PHP Nuke webpage (124 errors) or the Drupal webpage (7 errors).

    --
    Cyric Zndovzny at your service.
  23. Log file & safety by jurt1235 · · Score: 2, Insightful

    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).

    --

    My wife's sketchblog Blob[p]: Gastrono-me
    1. Re:Log file & safety by azaris · · Score: 2, Interesting

      Plus logfiles can be analyzed too, enough handy tools around for that too (I use vi).

      You have a magical version of 'vi' that penetrates the user's firewall, reads their logfiles over the Internet and reports back?

  24. GET DOWNSTAIRS AND WASH MUMS CAR ! by Anonymous Coward · · Score: 2, Funny


    if you are going to take the day off school you can start by helping your mum

  25. Re:Perhaps they should fix their site's HTML first by Anonymous Coward · · Score: 0

    And I thought I was sad, geez you need to get out more.

  26. One obvious problem by eric76 · · Score: 1

    One obvious problem with such a scheme is that most users won't update the software every time a release is made available.

    Suppose you fix a bug and release a new version. It will be some time before many people have switched to the new version and so you will, in the meantime, continue to get the same bug reports for a bug you've already exterminated.

    The clear result is that of the latest 100 bug reports received, most will likely be completely useless.

    1. Re:One obvious problem by venomkid · · Score: 1

      Just a wild guess, but the exception information will probably contain the software version.

      --
      vk.
    2. Re:One obvious problem by eric76 · · Score: 1

      If all you get is the 100 latest entries and you ignore the 70 or 80 entries available that pertain to previous versions, then you only have 20 left.

      It would be much better to filter out the prior versions first.

  27. not in kansas by unity · · Score: 1

    Nice try, but Rockhurst College is in Kansas City, Missouri.

    1. Re:not in kansas by Anonymous Coward · · Score: 0

      He said Kansas without saying if he was taking about the state so you can't realy correct him on this one. Afterall the implication was that he was taling about the same Kansas the poster was talking about.

  28. Beta debugging by WebfishUK · · Score: 1

    Years ago applications were exepcted to just work - from a user point of view. But with the increased complexity of applications the user is becoming increasingly involved in the later stage testing and development of applications. This is particularly true in open source development, where the development team need to use every possible test scenerio available.

    Although this thing isn't vastly developed, I think we are going to see a lot more services available to developers to help them better integrate with their users and to understand their issues with the software. I would like to see some better reporting tools, other than the last 100 exceptions, surely the top 100 exceptions would be more useful?

    --
    -- "Can't sleep, clowns will eat me!"
  29. An exception has occured by DeadSea · · Score: 2, Funny

    Exception: Could not handle error: an additonal exception was encountered
    at com.example.util.BaseExceptionHandler() Line 450
    ...
    Root Cause:
    OutOfMemoryError: Out of memory during exception construction
    at Exception() Line 5
    ...
    Root Cause:
    IOException: Could not connect to exceptionollection.com
    at com.ExceptionCollection.reportException() Line 127
    ...
    Root Cause:
    ApplicationException: HelloWorld program is too simple
    at com.example.webapp.HelloWorld.print() Line 907
    ...

    1. Re:An exception has occured by Anonymous Coward · · Score: 0

      907+ Line Hello World Program? Sheesh, i thought the one i saw for an obfuscated c contest that was 105 lines was long.

  30. Re: Good point, but... by guided_by_coffee · · Score: 0

    The only problem is SEH (structured exception handling) or lack thereof. These are the access violations, pure virtual calls, etc... that people sometimes forget to catch. Even if your code and any third-party libs don't throw any c++ exceptions whatsoever, you always have the possibility for structure exceptions.

    I agree though, personally don't like c++ exceptions, I like return codes much much better.

  31. Server down exception by ingo23 · · Score: 1
    Theoretically the client can use the exception service to report errors that could not be caught on the server (server crash, network down).

    Although I doubt that this will fly on an enterprise level project.

  32. Re:Perhaps they should fix their site's HTML first by Anonymous Coward · · Score: 0

    It looks like their site has one HTML error.

    Jesus fucking christ. get a life. this is not an academic exercise, it is a web page. Does the web page look ok? Does it render well in all browsers? That's enough.

    I believe it is very important that a company selling a error-detection program take the care and time to ensure that their websites are standards-compliant. It shows that they're concerned with writing correct code, be it HTML or Perl or whatever.

    HTML isn't code, it's a markup language. And frankly, in many companies, the website is maintained by the marketing people, not the coders.

    You remind me of the Dilbert cartoon where a potential customer tells Dilbert, "My company can't buy from your company unless your company is ISO 9000 certified."

    Dilbert says, "You mean you would choose our crappy, expensive product instead of our competitor's high-quality, inexpensive product because we are ISO 9000 certified and they are not?"

    The customer says, "Yes."

    Dilbert says, "Well, my documented procedure says that I must now laugh in your face."

  33. Re:Perhaps they should fix their site's HTML first by Anonymous Coward · · Score: 0

    Had they taken the care to make sure their website contains valid HTML code, then I would have considered using their service in the future. But I'm not sure if I will do so now.

    You judge the quality of a company's products by whether their webpage passes an HTML validator?

    You sir, are an idiot.

  34. Java? by b100dian · · Score: 1

    TFA:Your programs can be written in C#/VB.NET, Java, VB6, Delphi, C++, or any other SOAP-enabled language

    I lack to see anything apart from .NET code.

    For .NET, we provide a compiled component (DLL file)

    ?!. Not even .NET.

    --
    gtkaml.org
    1. Re:Java? by Anonymous Coward · · Score: 0

      .Net components are distributed as DLLs.

  35. Patent Pending !? by alico · · Score: 1

    I have been doing this for my company for the last four years. Capturing Exception and Workstation information from a user running our windows based application, including a callstack trace, then sending it back via HTTP to an open source web based bug tracker which I customized a "postBug.php" for. Developers simply login the bug tracker and watch incomming reports. Users also get a bug # which they can reference if they contact our support lines. The windows code is in Delphi, but can be ported to anything else, the bug tracker is "Anthill bug tracker" but i have been considering switching to Mantis. The system cost us under 2k to setup and served us very well over the last few years. While some may debate the effectiveness of exceptions and how they should be handled, let's face it, they occur and when they do at a client site where u don't have a clue what they're doing, the detailed reports come in handy for remote debugging your applications. Delphi has a Global Exception hook for any unhandled exception which traps and sends the errors with tons of info to our bug tracker, i am sure you could do something like that with other languages. Give Anthill/Mantis and "craft your own client" a shot or contact me if you use delphi.

  36. good for hosting by sucati · · Score: 1

    I can see this being useful for hosting providers, such as mine that for security reasons do not allow access to the io.* package in .NET. Also nice for a consolodating log messages in a cluster/farm. For mission critical stuff, you can't beat a log file, unless maybe you run out of disk space.

  37. More bloody accounting by ACORN_USER · · Score: 1
    If my code throws an exception, I expect it to get caught and handled. If the exception is frequent and represents a bug in my code, it should bloody well have been isolated and ironed out in testing 'BEFORE' releasing it to the wider and stupider world.

    If I'm going to keep a log of my exception, I'll do it for >100 exception and log these locally in a format which I can write a script to analyse and clear out, running in my own dev environment. I don't want my code to break when their soap daemon dies - I mean, whose going to log 'that' exception?!!

  38. Re:Perhaps they should fix their site's HTML first by Anonymous Coward · · Score: 0
    You judge the quality of a company's products by whether their webpage passes an HTML validator?
    I assume you test every single app you EVER come across, or do you use a divining rod?
  39. Windows error reporting... by serial_crusher · · Score: 1

    I think every freshman computer science major has spent hours waiting for Microsoft to get back to them after submitting an error report on their crashed program. This will probably work the same way.

  40. Re:Perhaps they should fix their site's HTML first by Anonymous Coward · · Score: 0

    I assume you test every single app you EVER come across, or do you use a divining rod?

    I never said I test everything. But judging the quality of a product by the HTML validity of the vendor's web page is dumb.

  41. nice plug, btw by Anonymous Coward · · Score: 0

    man, your text sounds like an attempted advert for a crappy service (for real)

  42. Because ... by PetoskeyGuy · · Score: 2, Insightful
    You'll end up paying them for use of the patent anyway.
    Copyright 2005, Promethean Personal Software
    Patents pending.
    1. Re:Because ... by bheer · · Score: 1

      Unlikely. Microsoft's been doing this for quite some time.

    2. Re:Because ... by PetoskeyGuy · · Score: 1

      perhaps the patents is letting users see the results or limiting it to 100. :o)

      Hard to say knowing the USPTO

  43. Prior Coolness by Doc+Ruby · · Score: 1

    I hope they don't try to patent this feature. Because I implemented it in 1997, as did several other consultancies building Java (and other) based websites for distributed companies. It is cool, though, if I do say so myself.

    --

    --
    make install -not war

  44. Free-Based Web Exceptions by Anonymous Coward · · Score: 0

    Thought this was an article about drugs. Wow, the lengths people go to get high.

  45. For the love of god by Anonymous Coward · · Score: 0

    Can we please stop having to read "free (as in beer)"?

    Its getting old and noone with two half brains in their head uses it.

    I don't know about you, but noone in tech I know is as much as an alcoholic as it takes to understand that reference.

  46. Exceptions? by irablum · · Score: 2, Funny

    I don't know about you guys, but I don't have any bugs in my code. It works perfectly the first time. No doubt. Never happens. Nothing ever breaks. Ever.
    hah.
    so there.

    at java.util.zip.InflaterInputStream.fill(InflaterInp utStream.java:215)
                    at java.util.zip.InflaterInputStream.read(InflaterInp utStream.java:134)
                    at java.util.zip.ZipInputStream.read(ZipInputStream.j ava:139)
                    at java.io.FilterInputStream.read(FilterInputStream.j ava:90)
                    at jrunx.util.JarUtils.expandJar(JarUtils.java:110)
                    at jrunx.util.JarUtils.expandJar(JarUtils.java:142)
                    at jrunx.util.URLUtil.makeExpandedCopy(URLUtil.java:1 07)
                    at jrunx.util.URLUtil.makeExpandedLocalCopy(URLUtil.j ava:70)
                    at jrun.deployment.DeployerService.createWatchedDeplo yment(DeployerService.java:213)
                    at jrun.deployment.DeployerService.deploy(DeployerSer vice.java:430)
                    at jrun.deployment.DeployerService.redeploy(DeployerS ervice.java:1407)
                    at jrun.deployment.DeployerService.redeployChanged(De ployerService.java:872)
                    at jrun.deployment.DeployerService.run(DeployerServic e.java:890)
                    at jrunx.scheduler.SchedulerService.invokeRunnable(Sc hedulerService.java:223)
                    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRu nnable(ThreadPool.java:426)
                    at jrunx.scheduler.WorkerThread.run(WorkerThread.java :66)

    damnit

  47. Wow? by Anonymous Coward · · Score: 0

    Who gives a shit?

    Like I can't have my friggin program send an e-mail to wherever by adding a few lines of code.

  48. answer by larry+bagina · · Score: 1
    Is this as cool as it looks, or a solution in search of a problem?"

    Looks more like a free advertisement.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  49. Humbling Observation by Anonymous Coward · · Score: 0
    I just started using a tool like this, but it just emails the crash reports instead (and with zero lines of code added). Anyway, after the first wave of reports came in, I realized two things:

    1) Users hardly ever report bugs themselves. Out of 21 bugs, only 2 were directly reported by a user.

    2) I suck at this much more than I thought :(

    As for information, the only information in the bug report that is useful is:
    • exception class and message
    • call stack trace, with line numbers
    • screenshot


    everything else is pretty useless.
  50. Re:Perhaps they should fix their site's HTML first by CyricZ · · Score: 1

    I don't expect every company to have a perfect webpage. It'd probably be okay if Aunt Sally's Flower Shop's webpage wasn't perfect HTML. But then again, Aunt Sally isn't in the software business.

    Any company in the software business should be capable of creating standards-compliant webpages for their products. It's not difficult to do, especially when verification services are available for free. It then becomes more a matter of care. Do they care enough to write quality code, be it their software product or their webpage?

    I cannot trust any software company that cannot put together a decent, standards-compliant webpage. It's as simple as that. I want quality code, and if you cannot provide it for something as simple as a webpage, then I fail to believe that you can provide quality software products.

    --
    Cyric Zndovzny at your service.
  51. XFire by Anonymous Coward · · Score: 0

    XFire already quietly does this for any games it supports, though you'll find nothing on their web site about the service.

  52. Re:Perhaps they should fix their site's HTML first by CyricZ · · Score: 0, Troll

    I wouldn't shop in a grocery store with faeces smeared all over the front windows and doors. Likewise, I will not deal with a software vendor who cannot create a standards-compliant webpage for their product(s).

    It's a matter of projecting a good public image, in addition to paying attention to small details (which is essential when doing software development).

    --
    Cyric Zndovzny at your service.
  53. Dr. Watson? by Yankovic · · Score: 1

    Isn't this a poor man's very late copy of Dr. Watson which has been around for a number of years and is also free ... in addition to providing nice core dumps of the applications which crashed, whether they are MS or not.

    MS seems to be first by quite a ways on this one.

  54. Re:Perhaps they should fix their site's HTML first by Anonymous Coward · · Score: 0

    Most uninspired troll ever. You deserve a prize.

  55. Using Web Services is a good idea... by E++99 · · Score: 1

    because this lets the exception logger work anywhere where there is web access, and potentially allows exceptions to ultimately go into a database. Even if you are happy having all your exceptions in the form of email, each individual deployment would have to be configured for your customer's SMTP server, or else you'll point to your own SMTP server and probably run into issues of the outgoing SMTP port being blocked.

    All the same, between security questions, and only storing the last 100 exceptions, I'd rather write my own Web Services exception handler.

  56. <SABER WIELDED && SABER IGNITED> by ACORN_USER · · Score: 1
  57. Recursive? by Anonymous Coward · · Score: 0
    Imagnie if they use their own service, and have an exception in the exception reporting routine.

    Not sure if the world ends or what.

  58. Re: by ltbarcly · · Score: 1

    You bumbling idiot. Now explain to me what the 'optimal root' is, aka 'optimal superuser'.

    Moron

  59. Optimal Root Bumblisms by ACORN_USER · · Score: 1
    It actually boils down to analogues between compression and optimisations relating to subterranean plant parts (as a true root or a bulb, tuber, rootstock, or other modified stem) especially when fleshy and edible.

    As a case in point, Raats and Feddes refer to optimal root distributions and their effect on the mesoscopic scale interaction between root and ground water.

    So, what we had suggested was that the bz2 compression process, compression ratios and resulting output would be analogous to the optimal-root (biomass), in the context of its osmotic interchange, growth-rates and the optimality of the resulting bio-tree.

    In light of this, I believe that my previous comment still stands

    . Sith scum-bag!

  60. Exceptions - A progressive solution for OO by guru_ross · · Score: 1

    A quality solution will make good use of both exceptions and return values. Eschewing exception-based programming is rejecting powerful tools that have been made available for modern programming, allowing complex problems to be solved elegantly and in a logical, maintainable fashion.

    My first example is a method that obtains the details on and individual and returns an object containing that information (name, birth, etc). The return value should be a typed object class to enforce proper communication with callers. If that method fails, it needs a way to signal the error state, why it failed, and perhaps even suggest some solutions (so an uninformed team member that is debugging will have some place to start). Since the return value type is a specific object class, the method may only return a valid object or a null value. It could return null indicating an error and forcing the caller to then query for the reason for the error, but this creates additional calls and complexity (which would be particularly poor when attempting to scale to a distributed application). The simpler solution is to throw a specially tailored exception of a type appropriate for the error. The exception can hold the reason for the error, the stack trace, suggestions on why it failed ("unable to contact server - make sure network connected"), etc. Now the caller can ask for an individual and receive it, confident that the returned object is indeed an individual, and if an error occurs, the exception can be caught and either passed up the chain, or handled on the spot with far more information than a single return code could provide.

    My second example is a method that receives a few numeric values and returns a calculated integer, arrived at through some complex formula. There is a potential for errors to occur due to incorrect, invalid, or out of range input. The valid response could be any positive or negative integer, or zero. You could pre-test the values to validate them, but then either the caller has to understand what the method does (bad encapsulation), or you have to make separate call(s) to the object providing the method in order to first validate the input (bad scalability). Again the ideal solution is to simply validate the input within the method, throwing an error if it does not meet requirements, and otherwise computing the result (throwing math computation errors if any occur), returning the final value. If no error is thrown, your program continues along secure in the knowledge that the returned value is not an error code. If an error does occur, the caller can easily branch to the correct handler to tell the user the input was invalid, or log a math error, etc.

    In my opinion, as a real professional, it is foolhardy to dismiss this very useful advancement in technology.

    Finally, to respond to the original question, I agree with many of the other posts in that the control and service in question may be useful to save a few or several hours of work for small applications, but for any application that intends to be competitive, it would be better to self-host end-use error reporting services.