在使用 SDK 的时候,怎么选择正确的 Exception 类来捕捉错误呢?

weixin_38089340 2019-09-18 04:04:09
在laravel5.5中使用easywechat的sdk来实现项目的微信相关业务的时候,写到了以下代码 $app = self::$wxMiniApp->wxMiniApp(); try { $result = $app->auth->session($param['js_code']); } catch (InvalidConfigException $e) { app('log')->info('InvalidConfigException'.$e); } 感觉很疑惑,为何在使用SDK的这个相关方法的时候,要使用InvalidConfigException类来捕捉错误。 因此感觉有几个疑惑: 所有的SDK都会有他自定义的Exception类来捕捉SDK调用的时候产生的错误吗 当使用SDK的时候,在调用处如何选择正确的Exception类来捕获错误 例如使用EasyWhat的解密数据相关方法时,使用的DecryptException来捕捉 谢谢大家解答我的疑惑 ♪(^∀^●)ノシ (●´∀`)♪
...全文
17 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38093364 2019-09-18
  • 打赏
  • 举报
回复
这个看 SDK 的作者怎么写 SDK 了,作者可以使用 PHP 自带的异常类,也可以自定义,有的 SDK 也不抛异常 一般是看 SDK 抛出了什么异常,然后针对性地捕获 头像..无敌....
weixin_38100812 2019-09-18
  • 打赏
  • 举报
回复
这个看 SDK 的作者怎么写 SDK 了,作者可以使用 PHP 自带的异常类,也可以自定义,有的 SDK 也不抛异常 一般是看 SDK 抛出了什么异常,然后针对性地捕获 头像..无敌....
weixin_38108918 2019-09-18
  • 打赏
  • 举报
回复
既然是5.5,建议你直接catch Throwable,因为大部分情况下你不需要在运行时知道sdk抛出什么异常,只需要知道有异常抛出,进行了合适的中断处理并记录了异常堆栈。至于到底抛出了什么异常,这是你排查异常日志的时候该做的事。

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧