草庐IT

Try-finally

全部标签

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]);}}我遇到

php - 如何处理其他 try catch block 中的异常?

我的例子:classCustomExceptionextends\Exception{}classFirstClass{functionmethod(){try{$get=external();if(!isset($get['ok'])){thrownewCustomException;}return$get;}catch(Exception$ex){echo'ERROR1';die();}}}classSecondClass{functionget(){try{$firstClass=newFirstClass();$get=$firstClass->method();}catch(

PHP 7 try catch : unable to catch "Catchable fatal error"

我正在玩try-catchblock:loadHTMLFile($str);$domOb->preserveWhiteSpace=false;$container=$domOb->getElementById('ormaininfotab');echo$container;//getMessage().".File:".$e->getFile().",line:".$e->getLine();}catch(Error$e){echo"Error".$e->getMessage().".File:".$e->getFile().",line:".$e->getLine();}?>我的结果

php - Node.js `crypto.final` 使加密结果与 PHP `mcrypt_encrypt` 不同

一开始,Node.js加密。//BothofkeyandIVarehex-string,butIhidetheminStackoverflow.varsecretKey=newBuffer('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','hex'),//48charsiv=newBuffer('bbbbbbbbbbbbbbbb','hex');//16charsvarstr='Thisstringwillbeencrypted.';varcipher=crypto.createCipheriv('des-ede3-cbc',sec

php - fatal error : uncaught exception without try/catch block

我试图在表单字段为空以及插入查询不成功时抛出异常。我见过有人在没有使用try/catchblock并且没有包含Exceptions类的情况下抛出异常。有谁知道我会怎么做?这是我在没有填写所有字段时遇到的错误:fatalerror:在第94行的/vagrant/web/Assignment4/Person.php中出现未捕获的异常“异常”,消息为“错误:以下字段为空-标题、电话号码、电子邮件”异常:错误:以下内容字段为空-标题、电话号码、电子邮件,位于第94行的/vagrant/web/Assignment4/Person.php调用堆栈:0.00146381681.{main}()/v

PhpStorm 检查错误或错误代码? try block 中未抛出的异常是意外的

我正在使用PhpStorm并在我拥有实例的子类的父类中抛出自定义异常。我没有从子类的父调用中捕获异常,因为我希望捕获它是对子类实例进行调用的代码的责任。PhpStorm提示捕获的异常没有在tryblock中抛出,但是父方法确实抛出它,这个方法是从tryblock中调用的子方法调用的。这是检查员的错误还是我真的做错了什么?下面是一些复制问题的示例代码:testMethod();}}$test=newchildClass;try{$test->doSomething();}catch(testE$e){//^---whydoesthisreportnothrowintry?//Except