La capture de Bande erreurs avec Try/Catch méthode PHP

Lors de mon test de BANDE dans un site web, j'ai intégré le code comme ceci:

   try {
        $charge = Stripe_Charge::create(array(
          "amount" => $clientPriceStripe, //amount in cents
          "currency" => "usd",
          "customer" => $customer->id,
          "description" => $description));
          $success = 1;
          $paymentProcessor="Credit card (www.stripe.com)";
    } 
    catch (Stripe_InvalidRequestError $a) {
        //Since it's a decline, Stripe_CardError will be caught
        $error3 = $a->getMessage();
    }

    catch (Stripe_Error $e) {
        //Since it's a decline, Stripe_CardError will be caught
        $error2 = $e->getMessage();
        $error = 1;
    }
if ($success!=1)
{
    $_SESSION['error3'] = $error3;
    $_SESSION['error2'] = $error2;
    header('Location: checkout.php');
    exit();
}

Le problème est que, parfois, il y a une erreur avec la carte (pas piégé par la "capture" des arguments que j'ai là) et de les "essayer" d'échec et la page immédiatement les messages d'erreur à l'écran au lieu d'aller dans le "si" et la redirection de retour à checkout.php.

Comment dois-je structure mon erreur de manipulation, donc je reçois le message d'erreur et immédiatement de redirection checkout.php et l'affichage de l'erreur là?

Merci!


Erreur renvoyé:

Fatal error: Uncaught exception 'Stripe_CardError' with message 'Your card was declined.' in ............
/lib/Stripe/ApiRequestor.php on line 92
InformationsquelleAutor samyb8 | 2013-07-19