首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Omnipay异常未被捕获

Omnipay异常未被捕获
EN

Stack Overflow用户
提问于 2016-05-26 19:07:30
回答 1查看 241关注 0票数 1

使用C券CMS实现Omnipay。Craft和Onmipay相对较新,但希望我的一般概念知识不会在这里消失:

这看起来很简单,应该用try/catch块no捕获异常吗?

代码语言:javascript
复制
// 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类的堆栈跟踪,它根据我所犯的任何有意的信用卡错误抛出一个异常。

为什么它不捕获异常并执行我的catch块?要捕获这个异常,需要对Omnipay/Craft做些什么,这样我就可以用列出的错误将用户重定向到正确的页面?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-01 03:22:52

试着改变这个:

代码语言:javascript
复制
} catch (Exception $e) {

对此:

代码语言:javascript
复制
} catch (\Exception $e) {
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37469148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档