草庐IT

catch-unit-test

全部标签

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

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

PHP 教义 : Test if an object is in an ArrayCollection

我正在尝试使用方法ArrayCollection::contains来查找对象是否已经在我的集合中,但是当我这样做时://MyArrayCollection$lesRoles=$drt->getDrtApplication()->getRoles();$leRole=$lesRoles->first();echo"PropertyappNom:".$leRole->getRleApplication()->getAppNom()."//PropertyappRole:".$leRole->getRleId()."";$role=new\Casgaya\Role(2,$drt->getD

php - Mac 上的 Valet : 502 bad gateway when running test. dev,laravel,php 安装

我在mac上用fpm在本地安装了php71。然后在去“pinganyting.dev”时让代客工作。然后进入“PHP_Apps”目录,我在其中安装了所有PHP应用程序,并在该目录中运行“代客泊车”。我在其中创建了一个包含index.php文件的“测试”目录。在浏览器中转到index.dev显示:502BadGatewaynginx/1.10.2还有日志文件记录:2017/01/3116:58:48[crit]285#0:*16connect()tounix:/Users/ME/.valet/valet.sockfailed(2:Nosuchfileordirectory)whileco

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 - 异常捕获 : when not to catch them?

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

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

php - 这个解决方案有什么问题? (Perm-Missing-Elem codility test)

我已经开始玩codility并遇到了这个问题:Azero-indexedarrayAconsistingofNdifferentintegersisgiven.Thearraycontainsintegersintherange[1..(N+1)],whichmeansthatexactlyoneelementismissing.Yourgoalistofindthatmissingelement.Writeafunction:intsolution(intA[],intN);that,givenazero-indexedarrayA,returnsthevalueofthemissi

php - 区别 <?php echo '$test' ; ?> 和 <?=$test?>

有什么区别和? 最佳答案 假设您的意思是,两者实际上是同一件事。问题是,你想要多便携。几乎所有支持PHP的地方都支持,但是很多管理员禁用语法。 关于php-区别和,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3623458/