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. 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). 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. Asserting or throwing unconditionally like std.log does now is completely unacceptable IMHO. Logging should _not_ affect program flow. - Jonathan M Davis