草庐IT

Try-Catch-Continue

全部标签

php - 简单的 try/finally 与 try/catch

具有简单的功能,例如:functionhello($var){try{//dosomethingwith$varwhichmayormaynotthrowanexceptionreturn$var;}finally{return$var;}}如果将其转换为:在逻辑或处理方面是否有任何差异:functionhello($var){try{//dosomethingwith$varwhichmayormaynotthrowanexceptionreturn$var;}catch(Exception$e){return$var;}}请忽略$e没有做任何事情的事实,并忽略示例函数的简单性/无用

PHP 异常 - 是否需要 try/catch?

我开始使用“真正的”异常而不是自定义错误函数。我认为我不需要每次都使用try/catch-block,抛出一个异常也没关系,但现在由于这些未捕获的异常,我得到了一个fatalerror。当我设置error_reporting(0)时一切正常,但我想完全避免错误。有谁知道try/catch的替代方法或如何抛出异常而不会出现fatalerror?提前致谢! 最佳答案 您可以使用set_exception_handler()为此并自己处理任何未捕获的异常。您注册的回调将接收异常作为其第一个也是唯一的参数。然而,注册一个虚拟函数是可能的:在

php - OAuth2 token ,消息 : '{ "error": "access_denied" }' returned when I try to update Google Calendar using OAuth (Service Account)

我正在使用适用于PHP的Google标准库来使用日历服务,并且我已经通过GoogleAPI控制台为OAuth2.0身份验证设置了一个服务帐户类型。我的主要目标是通过批量更新用户的谷歌日历(例如:user@organisationname.com)(当用户不在线时)。例如。更新用户日历中的事件。当用户登录应用程序(使用OAuth2.0)时,他/她将为应用程序提供“管理您的日历”、“查看您的日历”和“在我不使用应用”以下代码用于使用OAuth2.0登录setApplicationName("GoogleCalendarPHPStarterApplication");$client->set

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

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

带有 continue 关键字的 PHP 简短 if 语句并提交 else 部分

我有一个for循环for($x=1;$x现在执行时出现错误PHPParseerror:syntaxerror,unexpected'continue'(T_CONTINUE)in/var/www/html/all.phponline21现在,这留给我两个问题:我可以在简短的if语句中使用continue关键字吗?对于短if的else部分,是否可以使用二进制值,如true或false,如果不能,那么如果我对else部分无事可做,我该如何使用短if语句。 最佳答案 continue是一个语句(如for或if)并且必须独立出现。它不能用作

php - json_encode 可以触发 catch block 吗?

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

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

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

php,包含使用continue语句的文件

我正面临这样的情况((从php文档中提取))在包含在循环中的文件中使用continue语句会产生错误。例如://main.phpfor($x=0;$x它应该打印“012346789”没有五,但它产生了一个错误:Cannotbreak/continue1levelinetc.对此有解决方案吗??,我的意思是我需要以这种方式“处理”recycled.php,其中使用continue语句不会导致此错误,请记住这是易于理解的示例代码,在真实情况我需要找到一种方法来继续main.php文件的循环。。 最佳答案 您可以在page2.php中使用

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

php - Symfony 3 中的 Catch-all 路由

我在Symfony2中有一个包罗万象的回退路线,但我无法在Symfony3中工作。我尝试了这个确切的语法(我的Symfony2路由的逐字副本)但没有用。fallback:path:/{req}defaults:{_controller:MyBundle:Default:catchAll}requirements:req:".+"我怎样才能让它在Symfony3中工作?(这实际上是唯一阻止我使用Symfony3并让我保持在v2.8的东西) 最佳答案 这对您有帮助:route1:path:/{req}defaults:{_control