________________________________
From: Bastien Koert <phps...@gmail.com>
To: Lamp Lists <lamp.li...@yahoo.com>
Cc: Marc Steinert <li...@bithub.net>; php-general@lists.php.net
Sent: Tuesday, April 14, 2009 8:11:04 AM
Subject: Re: [PHP] try - catch is not so clear to me...




On Mon, Apr 13, 2009 at 11:34 PM, Lamp Lists <lamp.li...@yahoo.com> wrote:




________________________________
From: Marc Steinert <li...@bithub.net>
To: Lamp Lists <lamp.li...@yahoo.com>
Cc: php-general@lists.php.net
Sent: Monday, April 13, 2009 11:27:08 AM
Subject: Re: [PHP] try - catch is not so clear to me...


Basically try-catch gives you the ability to handle errors outside a class or 
method scope, by the calling instance.
This comes in handy, if you are programming in an object orientated way and 
thus enables you to seperate error handling from the rest of your functionality.
Means, your methods do only the things, they are meant to do, without bothering 
to handling occuring errors.
Hope, that made things clearer.

Greetings from Germany

Marc

Lamp Lists wrote:

>>  hi to all!
>>
>> actually, the statement in the Subject line is not 100% correct. I 
>> understand the purpose and how it works (at least I think I understand :-)) 
>> but to me it's so complicated way?
>>


-- http://bithub.net/
Synchronize and share your files over the web for free


My Twitter feed
http://twitter.com/MarcSteinert




Looks like I still didn't get it correctly:

try
{
   if (!send_confirmation_email($email, $subject, $content))

   {
       throw new Exception('Confirmation email is not sent');
   }

}
catch (Exception $e)
{

   send_email_with_error_to_admin($e, $content);
}

why am I getting both emails? I'm receiving confirmation email and email with 
error message - that I'm supposed to get if the first one is not sent for some 
reason?!?!?!?

thanks for any help.

-LL


     
what does this function [send_confirmation_email($email, $subject, $content)] 
return?

-- 

Bastien

Cat, the other other white meat





function send_confirmation_email($to, $subject, $body)
{    
  $headers =    "MIME-Versin: 1.0\n" .
                 "Content-type: text/plain; charset=ISO-8859-1; 
format=flowed\n" .
                 "Content-Transfer-Encoding: 8bit\n" .
                            "Reply-To: Contact <lamp.li...@yahoo.com>\n".
                 "From: Contact <lamp.li...@yahoo.com>\n" .
                 "X-Mailer: PHP" . phpversion();
        
    mail($to, $subject, $body, $headers) or die(mysql_errno());
}

$body is "regular" confirmation text: "Thank you for subscribing. To activate 
your account klick on the following link..." etc.




function send_email_with_error_to_admin($e, $content)
{
  $error_message  = "Caught exception: " . $e->getMessage() . "\n";
  $error_message .= "Code : " . $e->getCode()."\n";
  $error_message .= "File : " . $e->getFile()."\n";
  $error_message .= "Line : " . $e->getLine()."\n";
  
    $to_email = "lamp.li...@yahoo.com";
    $subject = "[Confirmation Error Report] ".$e->getMessage();
    $content .= 
"\n--------------------------------------------------------------------------------------------------\n\n";
    $content .= "Error Report:\n\n".$error_message;
    $content .= 
"\n--------------------------------------------------------------------------------------------------\n\n";
    
    send_confirmation_email($to_email, $subject, $content);
}


      

Reply via email to