草庐IT

Try-catch

全部标签

php - 为什么 Yii2 因 try/catch 而崩溃?

我插入一个条目,其中有一个主键的副本。publicfunctionactionInc(){$add=newCountry();$add->code='QI';$add->name='Qiang';$add->population='4444444';try{$add->save();return$this->render('inc',['count'=>'Ok',]);}catch(Exception$exception){return$this->render('inc',['count'=>'Error',]);}}但是我需要那个应用程序不宕机,继续工作,但是就是不行...

PHP 相当于 Ruby 的拯救

没有足够的声誉来正确标记它(ruby、PHP、socket、rescue)我已经很长时间没有练习PHP了,因为我一直在编写更多的Ruby脚本。我有点不好意思就此寻求帮助。我知道,在Ruby中,我可以使用rescue来防止脚本在出错时崩溃,我希望用PHP实现同样的目的。例如,在Ruby中:require'socket'beginputs"Connectingtohost..."host=TCPSocket.new("169.121.77.3",333)#Thiswill(intentionally)failtoconnect,triggeringtherescueclause.rescu

php - 在 Laravel/Lumen 中,为什么 catch block 没有捕获我的异常?

在Laravel/LumenPHP框架中捕获异常的最佳方法是什么?这很可能是一个普遍适用于PHP的问题。目前,我有一个UsersController调用(在tryblock中)我的User类中的“findByUsernameOrFail”方法。如果找不到用户名,此方法将抛出异常,但catchblock未捕获异常!为什么?classUsersControllerextendsController{publicfunctionshow($username){try{$user=\App\User::findByUsernameOrFail($username);return$user;}c

php - LARAVEL -> 为什么 try catch 在 Laravel 中不起作用?

我在RouteServiceProvider中有代码:$router->bind('user',function($value){try{throw(new\Symfony\Component\HttpKernel\Exception\NotFoundHttpException);}catch(Exception$e){exit('nott');}});我没有得到输出nott我得到了Sorry,thepageyouarelookingforcouldnotbefound.NotFoundHttpExceptioninRouteServiceProvider.phpline75:...编

php - JWT 解码 try catch

我在我的小项目中使用JWT进行授权(RESTAPI)。JWT看起来非常适合我的项目。假设我有这段代码:$key="secret";$token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"$data=JWT::decode($token,$key,array('HS256'));此代码将返回一个数组,如JWT的官方页面所示。​​但是

php - 处理异常,并且仅在未抛出异常时才执行代码

我的script_a.php:try{Class1::tryThis();}catch(Exception$e){//Dostuffheretoshowtheuseranerroroccurred}Class1::tryThis()有类似的内容:publicfunctiontryThis(){Class2::tryThat();self::logSuccessfulEvent();}问题是Class2::tryThat()会抛出异常。如果确实抛出异常,self::logSuccessfulEvent();行似乎仍会执行。我如何重构这段代码,使self::logSuccessfulEve

cron - PHP - 最后一次通话

有没有办法告诉PHP运行最后一个函数,或者在发生fatalerror时以某种方式覆盖某些错误处理程序?我有一个cron,其主要入口点为:$obj=newobj();$obj->run();exit;如果我没有明确抛出错误,将其包装在trycatch中是否可以解决问题?我只想让PHP做一些简单的事情,比如创建一个包含fatalerror的txt文件,或者甚至只是创建一个名为“failed.txt”的空文件,或其他东西。谢谢! 最佳答案 error_handler在这里可能对你有帮助或者这是fatalerror:http://insom

php - 新手 : throw new exception - can we change exception name?

我正在尝试处理异常(exception)情况。所以我有类似的东西:如果发生不好的事情:thrownewCreateContactException($codigo,$result->msg);稍后,我会尝试,如果不行,捕获:try{createContact();}catch(CreateContactException$e){$error.='Anerroroccurredwiththecode:'.$e->getCode().'andmessage:'.$e->getMessage();}1)这行得通吗?我的意思是,这个getCode()和getMessage()与CreateCo

php - 我可以在将 html 文件加载到 DOMDocument 时 try catch PHP 警告吗?

是否有可能进行某种trycatch来捕获警告?例如if(!$dom->loadHTMLFile($url)){//ifcantloadfilehandleerrormyway}对于我正在使用的$urlWarning(2):DOMDocument::loadHTMLFile(MYURL)[domdocument.loadhtmlfile]:failedtoopenstream:HTTPrequestfailed!HTTP/1.0403Forbidden[APP\controllers\import_controller.php,line62]Warning(2):DOMDocument:

PHP - try/catch 的开销是否高于 if/then?

在处理一些遗留代码时,我遇到了大量的Try/Catch语句。Try/Catch不是他们在我的Zend认证类(class)中教授的东西,而且10年来我没有与使用它的其他PHP开发人员一起工作。与执行if语句相比,Try/Catch是否有额外的开销?是什么让它比其他选择更受欢迎或更不受欢迎? 最佳答案 我不认为它们彼此真正相关。If语句用于确定分支逻辑。Try/Catch是处理发生的错误。可以在Catchblock中处理会使程序停止的异常。 关于PHP-try/catch的开销是否高于if/