Re: try - catch is not so clear to me...
| From: | Lamp Lists | Date: | Tue, 14 Apr 2009 14:31:52 +0000 |
| Subject: | Re: try - catch is not so clear to me... | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-291476@lists.php.net to get a copy of this message | ||
________________________________
From: Bastien Koert <phpster@gmail.com>
To: Lamp Lists <lamp.lists@yahoo.com>
Cc: Marc Steinert <lists@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.lists@yahoo.com> wrote:
________________________________
From: Marc Steinert <lists@bithub.net>
To: Lamp Lists <lamp.lists@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.lists@yahoo.com>\n".
"From: Contact <lamp.lists@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.lists@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);
}