On 02/12/10 09:30, Rich wrote:
speaking as a user here, not a coder - if software can continue with operating, it should. yes, it should warn me, but it should run as long as possible, either allowing me to save the document, copy data out of it or whatever.

The irony is, once you have hit a programming error, you can no longer have confidence in the program's behavior. It could happen that the data you still manage to save is subtly corrupted, so subtly that you do not notice immediately. This is indeed a dilemma, and there is no golden way out. That said, in the event of a crash (which would include the abort from an assertion in a non-product build) OOo already tries to save your open documents (and it appears to be somewhat effective at it).

i'd like to point out one thing i've noticed in other projects with user vs developer mentality. if a user reports program closing, it is a _crash_ for them. you might call that "assert", "controlled quit" - it does not matter. at all. to the user, software crashed. and that is the last thing i want from any software, especially one i rely some of my most important data ever to.

Sure, nobody wants to suffer the consequences of programming errors. However, the software industry happens to be in a state where errors are a frequent reality. The question, then, is how best to carry on once a programming error has been encountered (if the software has the luxury at all to even notice).

Fail fast (abort) has the potential to cause the least data loss and the least confusion (the program does not continue running in an uncontrolled state, corrupting the user's data or giving wrong answers to the user).

Carry on regardless (ignoring the detection that the program has reached an uncontrolled state; what effectively happens when assertions are disabled in production systems) can be considered unacceptable behavior. It potentially leads to corrupting the user's data or giving wrong answers to the user, with the user not being aware that those answers are wrong.

Working around the detected *programming error* is probably the best for the user, but, as I outlined in my other response, nothing you can expect to happen in OOo in the near future (probably as unlikely as OOo not having any program errors to begin with).

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.org
For additional commands, e-mail: dev-h...@openoffice.org

Reply via email to