>
> 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