Hi, Just to throw my 2 cent in: Im with Micheal. An application, that tries to access a class, that doesn't exists, is broken and a FATAL is valid. This application doesn't need try-catch, but a bugfix (and if it is already released: A better testing management). On the other side an application, that makes use of dynamic class names should make use of class_exists() in any case. An exception after calling class_exists() is just bad, but the classloader cannot distinguish between the reasons, why it is called.
2011/11/25 Christian Kaps <christian.k...@mohiva.com> > Am 25.11.2011 08:24, schrieb Michael Wallner: > > On Thu, 24 Nov 2011 23:28:35 +0100, Christian Kaps wrote: >> >> >>> https://wiki.php.net/rfc/**autoloader_error_handling<https://wiki.php.net/rfc/autoloader_error_handling> >>> >>> >> Throwing an exception or fatal error in an autoloader >> absolutely does not make any sense in my eyes. >> Projects doing this should step back and think a >> minute about what they dare. >> >> Mike >> > > Hi, > > how would you bring your application in a consistent state after a class > couldn't be loaded. I do this by adding a try/catch block around my code. > > try { > new Application(); > } catch (Exception) { > // collect data > // send mail > // redirect to maintenance page > } > > An other question is, if the autoloader work silent and I write: > > new NotExistingClass(); > > I think in this case the engine will also trigger a fatal error. So in my > eyes it is regardless of whether it trigger a fatal error in the autoloader > or the autoloader works silent. Both cases ends in a fatal error. Or am i > wrong here? > > Christian > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >