Re: Changing default assertion mode to throw exceptions

From: Date: Tue, 14 Jul 2020 20:43:15 +0000
Subject: Re: Changing default assertion mode to throw exceptions
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-111006@lists.php.net to get a copy of this message
Hi! On Mon, Jul 13, 2020 at 11:52 AM Marcio Almada <marcio.web2@gmail.com> > wrote: > > > I'd like to change the default mode of assertion failures to throw. > > > The current default is to warn. In my opinion this is a bad strategy: > > > the engine asserted that something that is expected to be true is not, > > > so executing further is a bad idea. This leaves throwing or bailing > > > out. I think throwing an exception is better than bailing out, so > > > that's what I propose. > > > > Couldn't agree more, but I always assumed this BC break could be > > too big before. Did you make any research on the impact already? > > > > Otherwise +1 > > Nikita put together a search of top packagist repositories to look for > assert: > https://gist.github.com/nikic/8311ee63c72573d514217456bf2df552 > > We can't generally know what their ini settings are, though. > > In my opinion this change is worth any backwards compatibility break > as we are choosing the worst setting except for ignoring them > altogether, and can be changed back to the previous value using an > existing ini setting; we just need to put a note in the migrating > guide. > I took a look at the top ones + random picks, most are converting warnings to exceptions at least during tests. Still a +1 from me.

« previous php.internals (#111006) next »