[nycphp-talk] If/else vs Try/catch
Ben Sgro (ProjectSkyLine)
ben at projectskyline.com
Wed Nov 28 13:04:10 EST 2007
Hello Kenneth,
I saw an example similiar to this on PHP.net. I don't really
see why try/catch is better ... Not trying to start a war here. -= ]
function try_include( $filename )
{
if( include($filename) != 1 )
{
echo "Problem trying to include file!";
return false;
}
return true;
}
----- Original Message -----
From: "Kenneth Downs" <ken at secdat.com>
To: "NYPHP Talk" <talk at lists.nyphp.org>
Sent: Wednesday, November 28, 2007 12:53 PM
Subject: Re: [nycphp-talk] If/else vs Try/catch
> Picture this example also:
>
> function try_include($filename) {
> try {
> include($filename);
> }
> catch Exception(e) {
> echo "Problem trying to include file!";
> return false;
> }
> return true;
> }
>
> Ben Sgro (ProjectSkyLine) wrote:
>> Hello Chris,
>> Good points again. I've been doing some reading
>> to get a better grasp on it.
>>
>> http://www.w3schools.com/php/php_exception.asp
>>
>> Seems to be a good explanation.
>>
>> Thanks.
>>
>> - Ben
>>
>> ----- Original Message ----- From: "csnyder" <chsnyder at gmail.com>
>> To: "NYPHP Talk" <talk at lists.nyphp.org>
>> Sent: Wednesday, November 28, 2007 11:38 AM
>> Subject: Re: [nycphp-talk] If/else vs Try/catch
>>
>>
>>> On Nov 28, 2007 11:25 AM, Ben Sgro (ProjectSkyLine)
>>> <ben at projectskyline.com> wrote:
>>>> Thanks. I'll read up on it now...and post my thoughts.
>>>
>>> Trying to explain the benefits of try/catch is like trying to explain
>>> the benefits of OO code: you don't need it to get the job done, but it
>>> really helps if you want to get the job done elegantly.
>>>
>>> If you find yourself writing code like:
>>>
>>> $success = $obj->process1();
>>> if ( $success ) {
>>> $success = $obj->process2();
>>> if ( $success ) {
>>> $success = $obj->process3();
>>> }
>>> }
>>> if ( !$success ) {
>>> exit( "An error ocurred in either process 1, 2, or 3." );
>>> }
>>>
>>> ... then try/catch is the way out of your nightmare.
>>>
>>> try {
>>> $obj->process1();
>>> $obj->process2();
>>> $obj->process3();
>>> } catch Exception( e ) {
>>> exit( "An error occurred: ".$e->message() );
>>> }
>>>
>>> Error handling doesn't need to be part of your program logic anymore.
>>>
>>> --
>>> Chris Snyder
>>> http://chxo.com/
>>> _______________________________________________
>>> New York PHP Community Talk Mailing List
>>> http://lists.nyphp.org/mailman/listinfo/talk
>>>
>>> NYPHPCon 2006 Presentations Online
>>> http://www.nyphpcon.com
>>>
>>> Show Your Participation in New York PHP
>>> http://www.nyphp.org/show_participation.php
>> _______________________________________________
>> New York PHP Community Talk Mailing List
>> http://lists.nyphp.org/mailman/listinfo/talk
>>
>> NYPHPCon 2006 Presentations Online
>> http://www.nyphpcon.com
>>
>> Show Your Participation in New York PHP
>> http://www.nyphp.org/show_participation.php
>
>
> --
> Kenneth Downs
> Secure Data Software, Inc.
> www.secdat.com www.andromeda-project.org
> 631-689-7200 Fax: 631-689-0527
> cell: 631-379-0010
>
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
>
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php
More information about the talk
mailing list