草庐IT

tri-plane

全部标签

php - php中try-catch的性能

在php5中使用try-catch语句时需要考虑哪些性能影响?我以前在网上阅读过一些关于这个主题的旧信息,而且似乎相互矛盾。我目前必须使用的许多框架都是在php4上创建的,并且缺乏php5的许多细节。所以,我自己在使用php的try-catchs方面没有太多经验。 最佳答案 需要考虑的一点是,没有抛出异常的tryblock的成本与实际抛出和捕获异常的成本是不同的问题。如果仅在失败情况下抛出异常,您几乎可以肯定不会关心性能,因为每次执行程序都不会失败很多次。如果你在一个紧密的循环中失败了(也就是把你的头撞到砖墙上),你的应用程序可能会

php - Laravel:使用 try...catch 和 DB::transaction()

我们都使用DB::transaction()进行多次插入查询。在这样做时,应该将try...catch放在其中还是包装它?如果出现问题,事务会自动失败,是否还需要包含try...catch?示例try...catch包装事务://try...catchtry{//Transaction$exception=DB::transaction(function(){//DoyourSQLhere});if(is_null($exception)){returntrue;}else{thrownewException;}}catch(Exception$e){returnfalse;}相反,一

php - 何时使用 Try Catch block

好的,这可能是一个非常菜鸟的问题,但我发现关于这方面的PHP文档和几个Internet搜索并没有给我任何想法。WhenshouldIusetry-catchblockstoimprovemyapplication?我读到有人说我们应该只使用try-catchblock来防止fatalerror。我读到其他人说我们应该只在意外错误上使用它(等待什么?意外?如果它们是意外错误,我怎么能用try-catch来防止它们?我应该把我所有的应用程序代码放在一个tryblock中吗?)。其他人只是说try-catchblock应该在任何地方使用,因为它们也可以扩展(扩展Exception类)。最后有

php - 如何在 PHP 中有效地使用 try...catch block

我一直在我的PHP代码中使用try..catchblock,但我不确定我是否正确使用了它们。例如,我的一些代码如下所示:try{$tableAresults=$dbHandler->doSomethingWithTableA();$tableBresults=$dbHandler->doSomethingElseWithTableB();}catch(Exception$e){return$e;}所以我将多个数据库操作分组在同一个try/catchblock中,因为如果任何事务中发生任何异常,我将能够处理它。我这样做是因为我认为它比:try{$tableAresults=$dbHand

java - 使用 try/catch 防止应用程序崩溃

我一直在开发一个Android应用程序,它经常使用try/catch来防止它在不需要的地方崩溃。例如,xmllayout中带有id=toolbar的View的引用如下://seenewexamplebelow,thisoneisjustconfusing//itseemslikeIamaskingaboutemptytry/catchtry{Viewview=findViewById(R.id.toolbar);}catch(Exceptione){}此方法在整个应用程序中使用。堆栈跟踪没有打印出来,很难找到问题所在。应用突然关闭,没有打印任何堆栈跟踪。我让我的学长向我解释,他说,Th

java - 没有 "try-finally"做 "catch"有意义吗?

我看到了一些这样的代码:try{db.store(mydata);}finally{db.cleanup();}我认为try应该有一个catch?为什么这段代码会这样? 最佳答案 如果您希望当前执行的方法仍然抛出异常,同时允许适本地清理资源,这很有用。下面是一个处理调用方法异常的具体示例。publicvoidyourOtherMethod(){try{yourMethod();}catch(YourExceptionex){//handleexception}}publicvoidyourMethod()throwsYourExce

Java Try Catch finally 没有 Catch 的 block

我正在审查一些新代码。该程序只有一个try和一个finallyblock。由于排除了catchblock,如果tryblock遇到异常或任何可抛出的东西,它是如何工作的?是直接进入finallyblock吗? 最佳答案 如果tryblock中的任何代码可以抛出已检查异常,则它必须出现在方法签名的throws子句中。如果抛出未经检查的异常,它就会从方法中冒出来。finallyblock总是被执行,无论是否抛出异常。 关于JavaTryCatchfinally没有Catch的block,我们

c# - 为什么在 "try"或 "catch"或 "finally"的范围内声明的变量没有?

在C#和Java(可能还有其他语言)中,在“try”block中声明的变量不在相应的“catch”或“finally”block的范围内。例如,以下代码无法编译:try{Strings="test";//(morecode...)}catch{Console.Out.WriteLine(s);//Javafans:think"System.out.println"hereinstead}在此代码中,catchblock中对s的引用会发生编译时错误,因为s仅在tryblock的范围内。(在Java中,编译错误是“scannotberesolved”;在C#中,是“Thename's'do

php - 编译错误: "g++: error trying to exec ' cc1plus': execvp: No such file or directory"

当我在php中使用popen编译C/C++程序时...我得到了这个错误:g++:errortryingtoexec'cc1plus':execvp:Nosuchfileordirectory但如果我在shell中运行php代码..它工作正常..在ArchLinux中..PHP代码:&1','r');$result=rfile($p);pclose($p);echo$result;?>谢谢 最佳答案 你需要安装gcc-c++包。yuminstallgcc-c++ 关于php-编译错误:"g

php - 警告 : mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql. socks )在

我正在尝试使用Apple上的终端(使用PHP)连接到我的MySQL数据库。昨天还好好的,现在突然发现标题报错了。当我使用浏览器运行该脚本时(我安装了XAMPP),该脚本有效,但终端拒绝连接到数据库。这是我包含的要连接的文件(当我不包含此文件时脚本有效,但它不会连接到数据库):应该可以,因为它适用于我的浏览器。我在终端使用的命令是phpscriptname.php。 最佳答案 由于某种原因,OSX上的mysql获取所需套接字文件的位置有点错误,但幸运的是,解决方案就像设置符号链接(symboliclink)一样简单。您可能有一个套接字