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

Reply via email to