On 3/6/12 7:04 PM, Jonathan M Davis wrote:
On Tuesday, March 06, 2012 18:19:23 Jose Armando Garcia wrote:
Fatal and Critical are exactly these continence functions... To
reiterate. fatal will always assert and critical will always throw. It
is impossible for the user to disable these things.
No, because they affect the log level. The concept of throwing and the log
level should be _completely_ separate.
Why?
std.log shouldn't be declaring _any_
exception types unless they're related to setting up the logging (_none_ which
relate to functions which log).
Why?
Adding an extra function which logs and then throws the exception that it's
given is fine, but that should have _nothing_ to do with the log level.
Why?
Asserting or throwing unconditionally like std.log does now is completely
unacceptable IMHO.
Why?
Logging should _not_ affect program flow.
Why?
Once again, the fallacy police finds you in violation of asserting the
hypothesis as its own sustaining argument.
Andrei