Re: Deprecation of the Error Control Operator (@ symbol)

From: Date: Tue, 05 Jan 2016 18:22:49 +0000
Subject: Re: Deprecation of the Error Control Operator (@ symbol)
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-90123@lists.php.net to get a copy of this message
On Tue, Jan 5, 2016 at 10:09 AM, Ferenc Kovacs <tyra3l@gmail.com> wrote: >> > I don't think that would work out too well. Remember that many projects >> > have >> > error handles which convert all errors to exceptions: if you disable @ >> > in >> > those projects, wouldn't their code break? >> > >> Nope. >> Supressed errors already reach custom error handlers: >> https://3v4l.org/TG8aA > > sure and most projects check the error_reporting() level against the $errno > like in the manual: > if (!(error_reporting() & $errno)) { > // This error code is not included in error_reporting > return; > } > > @ changes the error_reporting() level for that particular call, so those > custom error handler won't throw exceptions for the suppressed errors but > when you remove/nop @ their code would throwing stuff left and right. > Today I learned... Okay, def a problem (for a specific set of circumstances). And one which makes me more amenable to Ze'ev declare() suggestion (on a per-request bases, not per-file) as anyone modifying a project's codebase for testing can also modify it to suppress those exceptions as needed and/or just not enable the custom error handler. -Sara

« previous php.internals (#90123) next »