> > The reasoning is that it allows users to do a catch-all (which otherwise > we'd add to the language syntax). It also adds cleanliness to the Exception > hierarchy and allows PHP code to interact with PHP code which isn't written > by the developer knowing that there's a common interface (such as > getMessage()) which the exception always adheres to. That improves the > ability of exception handling especially debugging and logging > significantly. >
That second part is a Throwable interface, not a base class (and Exception isn't even an ABC.) > i.e. > > try { > ...// Main code which calls PEAR, SOAP, Smart, external stuff and > so on.... > } catch (Exception $e) { > print "Damn something is really wrong here\n"; > print $e->getMessage(); > } > I get the concept, that's the reason Exception was added. But its meant to be a voluntary thing (I believe this has been discussed before btw), a standard class that gives users something to build upon, should they want to. I think an all-your-base-is-belonging-to-Exception is the wrong way to go. If you really want a catch-all or some type of consistency the way to go is either a Throwable interface (which makes it more of a pain to write exceptions) or the generic: catch ($e) { } syntax. _Sterling -- "Reductionists like to take things apart. The rest of us are just trying to get it together." - Larry Wall, Programming Perl, 3rd Edition -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php