Re: [PHP-DEV] Changing default assertion mode to throw exceptions

This is only part of a thread. view whole thread
July 14, 2020 16:19 (Theodore Brown)
On Tue, July 14 2020 at 10:10 AM Levi Morrison wrote:

> On Mon, Jul 13, 2020 at 11:52 AM Marcio Almada> 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: > > > 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.
Big +1 on changing the default to throw. The current default of only producing a warning is surprising and can result in code continuing to execute in a state the developer intended to prevent. Theodore