草庐IT

try_catch_all

全部标签

php - 什么是 PHP 中的异常,什么是 try 和 catch?

我对在PHP中使用对象/类很陌生,我对EXCEPTIONS、TRY和CATCH感到好奇在下面的示例中,我使用了所有3个。显然异常是某种触发错误的方式,但我不明白为什么?在下面的代码中,我可以很容易地显示某种错误或没有异常部分的东西吗?该示例下方是使用try和catch的示例。在我看来,这与使用if/else是一样的。我可能是错的,这只是我在一无所知的情况下看到它们的方式,我知道你可以在不使用这些的情况下用PHP编写任何代码,所以这是什么原因,使用这些东西与传统方式相比有什么好处吗?尝试捕获//andtryandcatchtry{$thumb=PhpThumbFactory::creat

PHP Dom 文档 html 更快还是 preg_match_all 函数更快?

我有一个疑问,哪个处理速度更快?domdocumentorpreg_match_allwithcurlfunctionisfasterinhtmlpageparsing??dom文档功能会像curl功能一样在其他服务器上留下痕迹吗?例如,在curl函数中,我们使用用户代理来定义谁在访问,但在dom文档中什么都没有。 最佳答案 如果结果不正确,哪个更快重要吗?与正则表达式匹配以从文档中获取一点数据比解析整个HTML文档要快。但正则表达式无法在所有情况下正确解析HTML。参见http://htmlparsing.com/regexes.

php - Google Maps V3 Zoom to Show all markers 不工作

我正在使用GoogleMapsV3API,在map上创建多个标记后,我很难让map缩小以显示所有标记。现在下面的代码只显示标记而不调整缩放。你能找到那里的错误吗?谢谢!functioninitialize(){varlatlng=newgoogle.maps.LatLng(1.289566,103.847267);varoptions={zoom:15,center:latlng,mapTypeId:google.maps.MapTypeId.ROADMAP,scrollwheel:false};varmap=newgoogle.maps.Map(document.getElement

php - 为什么 preg_match_all 强制我提供第三个可选参数?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在计算$text中一些特殊字符的数量(如欧元符号),使用preg_match_all和这个正则表达式:preg_match_all('/[\[|\]|€\{|}|\\|\^|\||~]/u',$text);出于某种奇怪的原因,PHP要求我提供第三个参数。但根据documentationofpreg_match_all它应该是可选的:Warning:p

PHP 和 Postgres : catching errors?

如果出现问题,我应该如何准备代码?用try-catch语句还是?functiondelete_question($question_id){$dbconn=pg_connect("host=localhostport=5432dbname=heoauser=heoapassword=123");//removesquestionsanditsdependencies:answersandtags$result=pg_query_params($dbconn,'DELETEFROMquestionsWHEREquestion_id=$1',array($question_id));

php - json_encode 可以触发 catch block 吗?

这个问题在这里已经有了答案:HowhandlingerrorofJSONdecodebytryandcatch(4个答案)关闭去年。这可能是一个非常简单的问题,但我找不到任何相关信息。我使用的系统会聚合来自各种来源的大量数据,然后将这些数据存储在数据库中。在大多数情况下,系统运行良好,但偶尔我们会遇到一个问题,即数据可能具有我们的系统不喜欢的笨拙字符编码(例如,当数据使用另一种语言,如法语)。数据被传递到我们的处理服务器(我们使用Gearman),为了确保与源相关的所有信息都被传递,我们对一个包含我们需要的一切的数组进行json_encode编码。我的问题是:如果我将json_enco

php - preg_match_all 如何获得*所有*组合?甚至重叠的

PHP正则表达式函数中是否有一种方法可以获取正则表达式的所有可能匹配项即使这些匹配项重叠?例如获取所有的3位子字符串'/[\d]{3}/'...您可能希望获得:"123456"=>['123','234','345','456']但是preg_match_all()只返回['123','456']这是因为它在匹配的子字符串之后再次开始搜索(如文档中所述):"Afterthefirstmatchisfound,thesubsequentsearchesarecontinuedonfromendofthelastmatch.".有没有不用编写自定义解析器就可以解决这个问题的方法?

php - 异常捕获 : when not to catch them?

我在PHP的ZendFramework中为我的应用程序编写了许多小型库(一组类)。我也一直在库的方法本身中捕获这些异常并将它们记录到一个文件中。然后我突然遇到一个问题,即我使用这些库的主应用程序不会因错误而退出,即使在我预期它们会因fatalerror而退出的情况下也是如此。这个问题是下面的代码一直执行到最后-它不应该有。捕获并记录库类中的大部分错误(特殊情况除外)似乎不是一个好习惯。他们应该总是按原样抛出错误吗?这是一个正确的假设吗?如果有人能帮我回答这个问题,我将不胜感激。 最佳答案 在任何语言中,异常的一般哲学是它们传达异常情

php - 了解 preg_match_all() 函数调用中的模式

我试图了解preg_match_all()的工作原理,在查看php.net站点上的文档时,我看到了一些示例,但对作为模式参数发送的字符串感到困惑。那里有真正彻底,明确的解释吗?例如,我不明白这个例子中的模式是什么意思:preg_match_all("/\(?(\d{3})?\)?(?(1)[\-\s])\d{3}-\d{4}/x","Call555-1212or1-800-555-1212",$phones);或者这个:$html="boldtextclickme";preg_match_all("/(]*>)(.*?)()/",$html,$matches,PREG_SET_ORDE

php - 使用 throw try catch 错误处理的正确方法

我在下面遇到了这个函数,我想知道这是否是使用try/catch错误处理的正确方法。publicfunctionexecute(){$lbReturn=false;$lsQuery=$this->msLastQuery;try{$lrResource=mysql_query($lsQuery);if(!$lrResource){thrownewMysqlException("Unabletoexecutequery:".$lsQuery);}else{$this->mrQueryResource=$lrResource;$lbReturn=true;}}catch(MysqlExcept