至于为何要使用try...catch...结构我不想多说,本帖说说在yii2-wx中如何使用它。也就是说在yii2-wx中有几个exception是我们需要关注的?大家知道yii2-wx是一个通讯类的库,基本上每个方法都有和微信服务器发起请求的操作,在模拟http客户端这里我们使用的是yii的官方扩展yii2-httpclient。
所以当我们使用yii2-wx的时候,第一步要捕获的就是客户端异常,如下代码
try { $qrcodefile = $qrcode->strtemp(300,$code);}catch(\yii\httpclient\exception $e){ // todo}
这是在通讯这里我们要去捕获 yiihttpclientexception 异常。
接下来说说yii2-wx的解构,做为一个单入口扩展,application类是非常重要的,而这个类也有异常的抛出,比如当你使用driver驱动一个接口助手对象的时候,接口的名字不正确,这个抛出使用yii2-wx内置的exception,所以正确使用driver的方法如下
try { $app = new application(['conf'=>$conf['mp']]); $qrcode = $app->driver(mp.qrcode);}catch(\abei2017\wx\core\exception $e){ // todo}
上面说了整体框框,接下来说具体的方法,比如当我们使用$qrcode->strtemp(300,$code)的时候,通讯没有问题,但是获取二维码结果出问题了,此刻这些助手的方法也会抛出一个 abei2017wxcoreexception 异常,可以在$e->getmessage()中拿到信息。
最后总结说一下完整的yii2-wx代码编写结构。
try { $app = new application(['conf'=>$conf['mp']]); $qrcode = $app->driver(mp.qrcode); $code = yii::$app->security->generaterandomstring(); $qrcodefile = $qrcode->strtemp(300,$code); }catch(\abei2017\wx\core\exception $e){ // todo}catch(\yii\httpclient\exception $e){ // todo}
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注!
相关推荐:
关于yii2中gridview的用法总结
关于php如何调用phantomjs给微信小程序分享的问题
以上就是如何在yii2-wx中使用try_catch的详细内容。
