Re: Assertions

From: Date: Thu, 17 Oct 2013 12:01:02 +0000
Subject: Re: Assertions
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-69606@lists.php.net to get a copy of this message
On 17 October 2013 13:45, Sebastian Krebs <krebs.seb@gmail.com> wrote: > While tinking about it: As assertions are a way to describe conditions, > that are valid _in every case_ (or else the application is unrecoverable > broken), it is somehow different from just "exeptional cases", that may be > recovered during runtime. Therefore I'd prefer "the hard with" with errors > and such. I think they are somehow comparable to compile-errors, but during > runtime. Or with a "LogicException", that isn't simply (and without side > effects) solveable by replacing the value of one variable with another one. I tend to see it the same way. I think PHP's assert is derived from C's assert, where ASSERT(3) says: "... assert() prints an error message to standard error and terminates the program by calling abort(3) if expression is false ..." Where the important part is "terminates the program". -- off topic -- What I'd love to see, though, would be conditional execution of the assert block, i.e. if ASSERT_ACTIVE!=true, the expression wouldn't even be evaluated. So it were usable with expressions instead of strings in production code. I guess, accepting a callable as first argument could more or less solve this wish now that we've got closures... -- Regards, Mike

« previous php.internals (#69606) next »