首页
统计
壁纸
追番记录
优秀博主
关于
推荐
导航
工具
音乐解锁
Search
1
NAS的简单介绍
733 阅读
2
网站环境一键部署工具推荐
505 阅读
3
tp5-模型数据处理
405 阅读
4
win10镜像
359 阅读
5
第20200225期-电脑壁纸-P10
350 阅读
PHP
闲谈杂料
硬件系统
美图
ThinkPHP
笔记
数据库
Lua
登录
Search
标签搜索
ThinkPHP
MySQL
Laravel
PHP
API
GIT
Windows10
markdown
Web
跨域
ajax
小程序
壁纸
Linux
jsonp
try
异常
Dcat
UEFI
win10
phpfunny
累计撰写
104
篇文章
累计收到
24
条评论
首页
栏目
PHP
闲谈杂料
硬件系统
美图
ThinkPHP
笔记
数据库
Lua
页面
统计
壁纸
追番记录
优秀博主
关于
推荐
导航
工具
音乐解锁
搜索到
2
篇与
的结果
2022-03-18
记录try的使用排查错误
感谢异常捕获在请求发送短信接口时候使用GuzzleHttp\Client接口报错-日志报错信息如下:[2022-03-18 10:35:49] local.ERROR: #0 /www/wwwroot/api/app/Developers/Chuangyun/Chuanglansms.php(126): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Undefined prope...', '/www/wwwroot/ap...', 126, Array) #1 /www/wwwroot/api/app/Utils/Sms/Sender/ChuanglanSenderAbstract.php(23): App\Developers\Chuangyun\Chuanglansms->send('19145109087', '870987') #2 /www/wwwroot/api/app/Utils/Sms/Sms.php(40): App\Utils\Sms\Sender\ChuanglanSenderAbstract->send('870987') #3 /www/wwwroot/api/Modules/SDK/Http/Controllers/V1/SmsController.php(86): App\Utils\Sms\Sms->sendAndSave() #4 [internal function]: Modules\SDK\Http\Controllers\V1\SmsController->bindTel(Object(App\Http\Requests\V1\TelNotExist)) #5 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) #6 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('bindTel', Array) #7 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Modules\SDK\Http\Controllers\V1\SmsController), 'bindTel') #8 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\Routing\Route->runController() #9 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Route->run() #10 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #11 /www/wwwroot/api/Modules/SDK/Http/Middleware/Retain.php(23): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #12 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Modules\SDK\Http\Middleware\Retain->handle(Object(Illuminate\Http\Request), Object(Closure)) #13 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #14 /www/wwwroot/api/app/Http/Middleware/ResponseLog.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #15 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\Http\Middleware\ResponseLog->handle(Object(Illuminate\Http\Request), Object(Closure)) #16 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #17 /www/wwwroot/api/app/Http/Middleware/Authorization.php(18): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #18 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\Http\Middleware\Authorization->handle(Object(Illuminate\Http\Request), Object(Closure)) #19 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #20 /www/wwwroot/api/Modules/SDK/Http/Middleware/CheckDevice.php(36): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #21 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Modules\SDK\Http\Middleware\CheckDevice->handle(Object(Illuminate\Http\Request), Object(Closure)) #22 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #23 /www/wwwroot/api/app/Http/Middleware/RequestPretreatment.php(15): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #24 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\Http\Middleware\RequestPretreatment->handle(Object(Illuminate\Http\Request), Object(Closure)) #25 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #26 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #27 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure)) #28 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #29 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(43): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #30 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Auth\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure)) #31 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #32 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #33 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #34 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request)) #35 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route)) #36 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request)) #37 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request)) #38 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request)) #39 /www/wwwroot/api/vendor/barryvdh/laravel-cors/src/HandleCors.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #40 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fruitcake\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure)) #41 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #42 /www/wwwroot/api/app/Http/Middleware/Proxies.php(20): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #43 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\Http\Middleware\Proxies->handle(Object(Illuminate\Http\Request), Object(Closure)) #44 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #45 /www/wwwroot/api/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #46 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure)) #47 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #48 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #49 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure)) #50 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #51 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #52 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure)) #53 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #54 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #55 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure)) #56 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #57 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #58 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure)) #59 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #60 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #61 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #62 /www/wwwroot/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request)) #63 /www/wwwroot/api/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request)) #64 {main}尤其是第一行的报错没有看明白0 /www/wwwroot/api/app/Developers/Chuangyun/Chuanglansms.php(126): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Undefined prope...', '/www/wwwroot/ap...', 126, Array)打印日志尝试好久也没有找到哪里出现问题,只是知道大概的错误地址 Chuanglansms.php(126行代码处)/** * @param string $phoneNumbers * @param string $templateId * @param string $templateParams * @return bool * @throws \Exception */ public function send(string $phoneNumbers, string $code): bool { $this->phoneNumbers = $phoneNumbers; $this->code = $code; $client = $this->getConnect(); $response = $client->post('/msg/v1/send/json', ['headers' => ['Content_Type' => 'application/json'], 'json' => $this->getParams()]); $res = json_decode($response->getBody()->getContents()); if ($res->RetCode > 0) { Log::error('创蓝云智短信发送失败:' . json_encode($res)); throw new \Exception('系统异常,发送失败'); } return true; }126报错异常的代码就是上述代码段18行 if ($res->RetCode > 0) {这个RetCode我一直以为是请求接口返回参数,没有觉得他错误应该是其他的错误。【这里是思维的坑】然后留意了一下这个(8, 'Undefined prope...', '/www/wwwroot/ap...', 126, Array)有报错信息,但是不完整。想了也半天,忽然想起项目中大量使用了try catch然后尝试了一下果然报错信息完整了/** * @param string $phoneNumbers * @param string $templateId * @param string $templateParams * @return bool * @throws \Exception */ public function send(string $phoneNumbers, string $code): bool { $this->phoneNumbers = $phoneNumbers; $this->code = $code; try{ $client = $this->getConnect(); $response = $client->post('/msg/v1/send/json', ['headers' => ['Content_Type' => 'application/json'], 'json' => $this->getParams()]); $res = json_decode($response->getBody()->getContents()); Log::debug('接口返回报文:'.json_encode($res)); if ($res->RetCode > 0) { Log::error('创蓝云智短信发送失败:' . json_encode($res)); throw new \Exception('系统异常,发送失败'); } } catch (Exception $e) { Log::debug('异常错误:'.$e->getMessage()); throw new \Exception('系统异常,发送失败2'); return false; } return true; }打印日志[2022-03-18 10:58:26] local.DEBUG: 异常错误:Undefined property: stdClass::$RetCode提示未定义属性的错误。果然这个RetCode有问题。补充:在laravel9中使用try格式use Exception; use Illuminate\Support\Facades\Log; try{ } catch(Exception $e){ Log::debug('异常错误:'.$e->getMessage()); throw new \Exception('系统异常'); }
2022年03月18日
182 阅读
0 评论
0 点赞
2021-10-19
PHP错误和异常处理的学习
错误和异常处理的学习在某些编程语言(例如JAVA)在特定的情况下将自动抛出异常,但是在PHP中异常必须手动抛出。异常处理的概念利用try,Exception,throw写一个简单抛出并捕捉的异常try{ throw new \Exception('发生了不可描述的错误', '500'); }catch(\Exception $e){ echo 'Exception '.$e->getCode().' : '.$e->getMessage().'<br/>'.' in '.$e->getFile().' On Line '.$e->getLine(); }提示109行异常代码就是 throw new \Exception('发生了不可描述的错误', '500');简单解释一下try,Exception,throw一般是try{}代码块和catch(){}代码块配套使用,一个try{}代码块可以配合多个catch代码块捕捉不同类型的异常。有一点需要注意:当有多个catch代码块时,传递给每一个catch代码块的对象必须具有不同的类型,这样php才能找到具体是哪个catch代码块。throw关键字触发异常处理机制。他是一个语言结构而不是函数,所以必须要给他传一个值。throw new \Exception('message', code);这个类的构造函数需要两个参数:一个消息和一个错误代码。Exception类
2021年10月19日
129 阅读
0 评论
0 点赞