草庐IT

Try-catch-finally

全部标签

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 - 在 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 - Zend 框架 : How can I tap into the final view output before it's sent to the browser?

我正试图在最终的xhtml输出作为字符串发送到浏览器之前访问它。Action和插件的postDispatch()方法似乎还为时过早。当我使用调试器单步执行Zend_Controller_Front::dispatch()方法时,我可以在$this->_response->sendResponse()之前以字符串形式访问所需的输出通过添加监视表达式$this->getResponse()->getBody()在最后调用。但是,似乎没有专门的Hook可以直接进入。我需要将最终响应正文作为字符串发送给PrinceXML以生成pdf。有人知道这样做的优雅方法吗?谢谢阿德里安

php - 没有 "finally"的编程

我没有所需的支持finally的PHP版本,所以我想知道是否:try{work();}catch(Exception$e){cleanup();throw$e;}cleanup();与完全相同try{work();}finally{cleanup();} 最佳答案 finallyblock的要点是无论tryblock中发生什么,或者在随后的catch情况下都会执行。因此,如果您考虑一下,finallyblock中的代码要么在成功执行tryblock之后执行,要么在抛出任何异常之后执行。因此,如果您按照您在解决方案中所做的那样编写它,

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 finally 子句

模拟finally子句的最佳做法是什么?我意识到这可以被认为与thisquestion相关(虽然我不认为它是重复的).但是,在我的例子中,我想处理异常,我想使用finally(或任何PHP等价物或实践),如python所定义:Afinallyclauseisalwaysexecutedbeforeleavingthetrystatement,whetheranexceptionhasoccurredornot.在try-catchblock之后松散地编写代码对我来说似乎是一种丑陋的做法。 最佳答案 在RFCforaddingfina

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

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

php - try catch laravel 不适用于重复输入

我在LaravelController中使用以下代码。并得到username的重复错误,但我需要通过try-catch来处理它。此代码无效。insert(['username'=>$request->username,'phone'=>$request->phone,'status'=>1]);}catch(Exception$exception){$errormsg='Databaseerror!'.$exception->getCode();}returnResponse::json(['success'=>$result,'errormsg'=>$errormsg]);}}我遇到