草庐IT

EXCEPTION

全部标签

php - 将 PHP 错误转换为异常

我编写了错误处理类,它将所有错误分为正常错误(通知、警告...)和严重错误。现在我发现将所有错误转换为异常是一种很好的做法。它还会缩短我的代码。但是,我不确定如何处理这个...是否存在不停止脚本执行的异常和会停止脚本执行的异常?如果没有...如何区分转换后的错误?将错误转换为异常是通过调用set_error_handler()并在其中抛出新的ErrorException()来完成的...下一步是什么?set_exception_handler()被自动调用? 最佳答案 捕获的异常不会停止您的脚本,所有未捕获的异常都会。不,set_e

php - 在没有 die() 或 exit() 的情况下结束 php 标签

我想知道PHP是否有一个函数可以让我在进程到达“?>”标记之前结束它,例如:third那么输出应该是:firstthirdfourth我知道有些人认为这是无用的,但我想为iframe上的验证脚本做这件事而不是使用die或exit函数,因为它杀死了整个脚本,我只想结束它的一部分。通常我使用if-else代替,但我想避免它们,因为进程很大,我想要一些更具可读性的东西,顺便说一句,我使用if-die在我的ajax脚本中,我也想在我的iframe中使用类似的东西,谢谢!好吧,我只是想知道PHP是否已经有适合它的功能(似乎没有),所以我想我会把它留给if-elses,因为真的不值得使用更多的过程

php - 为什么要使用多个 PHP Exception 类

我承认我并没有经常使用异常,有时我很难100%掌握PHP中的异常,这可能部分是因为PHP没有最好的错误=>异常支持,但我仍然这样做对他们了解不多。以下面这段代码为例,它定义了4个不同的类,它们除了扩展基异常类之外什么都不做。我很好奇为什么人们不直接调用Exception以及为什么他们有所有这些单独的类。我认为有充分的理由吗?classOptimizeImageExceptionextendsException{};classFileNotFoundExceptionextendsOptimizeImageException{};classFileNotImageExceptionext

捕获到 PHP 异常,但仍然出现错误信息

我使用PHP手册中的一些代码进行异常测试,但我得到了一些奇怪的消息。代码如下:functioninverse($x){if(!$x){thrownewException('Divisionbyzero.');}elsereturn1/$x;}try{echoinverse(5)."\n";echoinverse(0)."\n";}catch(Exception$e){echo'Caughtexception:',$e->getMessage(),"\n";}//Continueexecutionecho'HelloWorld';这是输出:0.2(!)Exception:Division

php - 为生产覆盖 Kohana_Exception::_handler() - 3.3

我正在使用Kohana3.3并且我阅读了这个forumpost.它说,为了防止向最终用户显示堆栈跟踪,我需要覆盖Kohana_Exception::_handler()以对向上渗透的错误做一些不同的事情。这是否意味着覆盖Kohana_Exception并添加以下函数?publicstaticfunction_handler(Exception$e){try{//LogtheexceptionKohana_Exception::log($e);//Generatetheresponse//insteadofbelowline://$response=Kohana_Exception::r

php - Symfony ExceptionHandler 抛出关于自身的错误

我正在升级应用程序以使用Symfony3和PHP7。我不断收到此错误。我不确定它的来源或修复方法。Symfony\Component\Debug\ExceptionHandler::handle()mustbeaninstanceofException 最佳答案 TL;DR:您的代码中某处触发了PHP错误。在PHP5中,它是作为一个简单的PHP错误触发的;在PHP7中,它作为一个Error被抛出,现在被传递给Symfony的异常处理程序。此错误可能一直存在于您的应用程序中,并且由于error_reporting或display_er

php - 未捕获的异常 'Exception' 消息为“DateTime::__construct():

我在输出在我的PHP文件中创建的日期时遇到问题。我一直在关注如何制作一个真正的Basic-CMS平台的教程,以帮助我了解databases和PHP的一些基础知识,一切都已经完成一切顺利,直到我尝试输出页面的创建日期。这是我得到的错误Fatalerror:Uncaughtexception'Exception'withmessage'DateTime::__construct():Itisnotsafetorelyonthesystem'stimezonesettings.Youare*required*tousethedate.timezonesettingorthedate_defa

PHP 异常参数

我正在开发PHPlibrary,不同的PHP项目可能会在各种环境中使用它,我正在努力做到尽可能简约。例如,在某些情况下我必须抛出异常。throwException('templatehasinvalidtag');如果没有标签的名称,这样的错误不是很有用:throwException('templatehasinvalidtag:'.$tag);这将很难定位并可能导致各种注入(inject)问题。问题:在PHP中使用异常传递额外变量的最佳方法是什么?(注意:我的库执行SQL查询构建,我希望它专注于任务,而不是解决异常问题) 最佳答案

php - 为什么 Exception 不是 Throwable 的实例?

我认为在所有编程语言中,Exception类都是Throwable接口(interface)的实例。看看下面的代码,它显示Exception不是php中Throwable的实例。try{thrownewInvalidArgumentException("errormessage");}catch(InvalidArgumentException$e){if($einstanceofException){echo'$eisexception';//thislinegetsexecuted}if($einstanceofThrowable){echo'$eisthrowable';//bu

PHP 和 FPDI/FPDF : Fatal error: Uncaught Exception: FPDF error: Incorrect output destination

我有一个PDF文件,我想用FDI/FPDF添加一个新页面Fatalerror:UncaughtException:FPDFerror:Incorrectoutputdestination:outfiles/111111.pdfinC:\wamp\www\pdf\fpdi\fpdf.phponline271(!)Exception:FPDFerror:Incorrectoutputdestination:outfiles/111111.pdfinC:\wamp\www\pdf\fpdi\fpdf.phponline271require_once('fpdi/fpdf.php');requ