【发布时间】:2014-07-07 01:13:08
【问题描述】:
情况:
//trollCommand.php
[...]
foreach ($trolltypes as $type) { //$type=={"Frost","RandomBroken","Forest"}
try {
$output->writeln($type);
$troll={"get".$type."TrollType"}();
$output->writeln("TEST 1");
$troll->__load();
$output->writeln("TEST 2");
} catch (EntityNotFoundException $e) {
$output->writeln("WARNING: TROLL ENTITY DOES NOT EXIST.");
continue;
}
$output->writeln("TROLLING");
do_something_with_troll($troll);
}
getFrostTrollType 加载正常,getForestTrollType 也应该加载正常,但在此之前,这是一个问题,getRandomBrokenTrollType() 故意不存在,然后我在控制台中看到消息:
Frost
Test 1
Test 2
TROLLING
RandomBroken
Test 1
[Doctrine\ORM\EntityNotFoundException]
Entity was not found.
//[EXIT FROM SCRIPT]
troll@troll-machine ~/trollSandbox/ $ _
应该是:警告:巨魔实体不存在。然后继续;但它不会发生
如何检查对象的方法是否存在?
【问题讨论】:
-
什么不会发生?警告还是继续?还是两者都没有?