0
Omnipayを実装するCraft CMSを使用しています。 CraftとOnmipayで比較的新しいですが、私の一般的な概念の知識がここにないことを願っています:Omnipay例外がキャッチされていません
これはかなり単純なようですが、例外はtry/catchブロックで捕捉されるべきですか?
// Validate on Omnipay Credentials
$formInputData = array(
'number' => $info->CardNumber,
'expiryMonth' => $info->ExpireMonth,
'expiryYear' => $info->ExpireYear,
'cvv' => $info->SecurityCode,
'first_name' => $info->Cardholder,
'billingAddress1' => $info->CardAddress,
'billingCity' => $info->CardCity,
'billingState' => $info->CardState,
'billingPostcode' => $info->CardZip,
);
//try/catch for Omnipay Invalid Card Exception
try{
$card = new CreditCard($formInputData);
$card->validate();
} catch (Exception $e) {
echo 'blah';
}
これは、例外をキャッチしておらず、代わりに、私は次のことを言って例外ページにリダイレクトしています: Omnipay\Common\Exception\InvalidCreditCardException
Card number should have 12 to 19 digits
この後、のCreditCardクラスにスタックトレースが続いています私が行った意図的なクレジットカードのエラーに基づいて例外がスローされます。
なぜ例外をキャッチしてキャッチブロックを実行しないのですか?この例外を捕まえるためにOmnipay/Craftで何をする必要があるので、エラーが表示された適切なページにユーザーをリダイレクトできますか?これに
} catch (Exception $e) {
:
をありがとうございました。私はなぜそれがないと反対に働いたかを調べることができました。再度、感謝します! – Atom145