草庐IT

Try-finally

全部标签

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 - 关键字 'Private' 和 'Final' 有什么区别?

混淆了PHP中的Private和Final。例如我有3个类:A类(父类)B类(子类)C类(其他类)我的理解:A:公共(public)变量和方法可供A类、B类和C类访问B:私有(private)变量和方法只能由类A访问。C:Protected变量和方法只能被A类和B类访问D:Final方法只能被A类访问,B类不能访问。我的问题是:Afterusingprivatewecanachievefunctionalitylikefinalthenwhyweusefinal?我问这个问题只是为了澄清我自己。 最佳答案 为了清楚起见,关键字fin

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

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

php - 将任何类或任何方法声明为 "final"的示例场景是什么?

将任何类或任何方法声明为“最终”的示例场景是什么?我们什么时候需要这样做?请给我一些例子来理解“final”的实际使用...请详细说明你的答案....请指导我,因为我是OOP的初学者 最佳答案 这只是一个示例,用于详细说明为什么有时必须从任何进一步的扩展中锁定方法/类以避免意外。classAccount{publicfunctiondebit(Amount$amount){if(($this->canDebit($amount)){$this->balance-=$amount;}}finalpublicfunctioncredit

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 - try catch 失败的包含

这是一个谷歌搜索一个小时似乎无法解决的简单问题。如何捕获PHP中的失败包含?对于以下代码:try{include_once'mythical_file';}catch(Exception$e){exit('Fatal');}echo'?';由于mythical_file不存在,我得到输出“?”。我知道PHP无法捕获所需的失败,因为它会触发警告错误,但是在这里呢?捕获失败包含的最佳方法是什么?例如以下作品:(include_once'unicorn')orexit('!');但它不会触发异常,所以我无法检索文件、行和堆栈上下文。 最佳答案

php - 带有 try catch 的 PDO 事务语法

使用PDO事务和trycatch时首选的语法是什么?为什么?$dbh->beginTransaction();try{}catch(Exception$e){}或try{$dbh->beginTransaction();}catch(Exception$e){} 最佳答案 现有的答案似乎表明,由于$dbh->beginTransaction()可能会抛出一个PDOException,所以它应该在同一个try中实际事务代码块,但这意味着rollBack()代码本身是错误的,因为它可以在没有事务的情况下调用rollBack(),这也可以

java - 如何将 Option<Try<Foo>> 翻转为 Try<Option<Foo>>

我有一个Try>.我要flatMapFoo进入Bar,使用它使用可能会失败的操作。如果我的Option不是失败是一个Option.none(),(并且Try成功),在这种情况下,没有什么可做的。所以我有这样的代码,它确实有效:Try>myFlatMappingFunc(OptionfooOpt){returnfooOpt.map(foo->mappingFunc(foo).map(Option::of)/*ew*/).getOrElse(Try.success(Option.none());//doubleew}TrymappingFunc(Foofoo)throwsIOExcepti