草庐IT

EXCEPTION

全部标签

php - 如何在 Laravel 5 中设置自定义异常处理程序?

您好,我是laravel的新手,正在处理自定义异常处理。我已经捕获了我所知的所有异常,并且运行良好。根据我的理解,set_exception_handler用于处理未捕获的异常。现在我有两个问题:1)我必须知道我对set_exception_handler的理解是否正确。2)如何在laravel5中实现处理未捕获的异常这就是我在Controller中实现set_exception_handler的方式classSearchControllerextendsBaseController{publicfunctiongetTitleMessage($exc){var_dump("setex

php - 自从我安装了 Oxygen 版本后到处都是意外的错误注释

我为PHP安装了Eclipse的最新版本(Oxygen)。但是现在有很多我认为不应该的错误注释。几乎所有这些都与异常有关:thrownewException('Exceptionmessage');弹出提示中的注释信息是这样的:异常无法解析为类型该提示为我提供了一些快速修复,这些修复使用了在使用Composer导入的库中声明的Exception类。这是为什么呢?据我所知,Exception仍然是一个内部PHP类(不需要导入它)。我知道我应该使用更具体的异常类,但现在,异常对我有用。它不应该在Eclipse中被标记为错误。以前的版本没有将此检测为错误。此外,应用程序运行没有任何问题。这是

php - 什么时候应该记录异常(exception)情况?

假设以下片段:publicfunctionfoo(){return$this->dependency->bar();}如果已知dependency::bar()会抛出异常,但foo()预计不会处理它。foo()的文档block中是否应该有一个@throws条目?或者这应该是隐含的?phpdoc文档对此有些含糊。假设dependency是基于接口(interface)注入(inject)的;接口(interface)文档是否应该说明该方法可以抛出指定的异常。异常应该由调用代码处理还是无关紧要?一路语义:) 最佳答案 您已经创建了公共(

php - 使用中止功能设置状态文本

Laravel版本:5.5.14PHP版本:7.1.10描述:当我尝试使用X-Requested-With='XMLHttpRequest'而不使用CSRF-TOKEN来POST时,我收到了null消息作为回应。我将此代码添加到App\Exceptions\Handler:publicfunctionrender($request,Exception$exception){if($exceptioninstanceofTokenMismatchException){abort(419,'TokenMismatchORpagehasexpiredduetoinactivity.');}r

PHP fatal error : Uncaught exception 'Exception' with message

我有一个PHP脚本连接到一个api并将信息发布到他们的系统,但是当它尝试连接时它抛出一个fatalerror:Fatalerror:Uncaughtexception'Exception'withmessage'Problemwith'http://apitestserver.co.uk:9000/Service.svc/Items'in/var/www/html/e/connect_test.php:17Stacktrace:#0/var/www/html/e/connect_test.php(39):do_http_request('http://apitest....','hel

php - 以不同的名称重新抛出异常?什么是标准做法?

目前我的PHPMVC网络应用程序中有此客户端代码:try{BookMapper::insert($book);}catch(DbUniqueConstraintViolationException$e){$errorList->addMessage($book."alreadyexists!");}我想知道在我的客户端代码中引用低级框架Db*异常是否是一种不好的做法?如果是这样,我是否应该像这样调整我的模型代码:classBookAlreadyExistsExceptionextendsException{}classBookMapper{publicstaticfunctionins

php - 我应该在这里使用异常(exception)吗?

我是异常的新手,正在尝试找出何时适合使用它们。在下面的php代码中,我想更改echo(无需告诉用户)以简单地记录消息。我应该只用log->notice(...)替换echo(例如)还是应该使用异常(无论如何我都打算记录)。if(file_exists($file)){echo'Filealreadyexistsandwillbeoverwritten.';}此外,如果我应该使用异常,那么在这种情况下我将如何正确使用异常? 最佳答案 异常通常设计用于处理意外行为-例如错误或问题。在您上面的示例中,我认为不需要它,因为您可能希望该文件存

php - ErrorException 返回错误的文件和行

在file1.php中:set_error_handler('my_error_handler');set_exception_handler('my_exception_handler');functionmy_error_handler($errNo,$errStr,$errFile,$errLine,$whatever=null){//hereErrFileand$errLinearecorrectonlyfornativefuncs...throwNewErrorException($errStr,0,$errNo,$errFile,$errLine);}functionmy_

php - 异常类应该有多具体?

通常我尽量避免抛出Exception实例,因为这并不能传达太多关于错误原因的信息。但我发现我得到了相当多的空异常类,它们看起来像这样......classDataNotFoundExceptionextendsException{//justataggingclass}因此在功能上该类与Exception相同。唯一的功能意义是我现在可以做到这一点......try{...somecodewhichthrowsexceptions...}catch(DataNotFoundException$dnfe){...dostuff...}catch(OtherException$oe){...

php - 无法捕获 BadMethodCallException

这是我的部分代码://...code...$action=self::defineAction($request->getPath());try{$response=Controller::$action($request);}catch(\BadMethodCallException$exception){Logger::logError($exception);$response=newNotFoundResponse();}//...code...如果由于某种意外,具有已定义名称的Controller的操作未实现或名称定义错误,我会trycatch异常。但是我没有捕获异常,而是在