php正确捕获依赖库异常

php正确捕获依赖库异常,php,exception,exception-handling,doctrine-orm,Php,Exception,Exception Handling,Doctrine Orm,大家好,我有一个例外的问题 以下代码块将执行此操作: Fatal error: Uncaught exception 'Doctrine\DBAL\Types\ConversionException' with message 'Could not convert database value ..... 代码: foreach($indexArray=>$objectID的结果){ 试一试{ $tempObject=new OggettoEbayDB(); $tempObject=$enti

大家好,我有一个例外的问题

以下代码块将执行此操作:

Fatal error: Uncaught exception 'Doctrine\DBAL\Types\ConversionException' with message 'Could not convert database value .....
代码:

foreach($indexArray=>$objectID的结果){
试一试{
$tempObject=new OggettoEbayDB();
$tempObject=$entityManager->find('OggettoEbayDB',$objectID);
如果($tempObject->checkValid()){
//……做点别的
}    
}catch(条令\DBAL\Types\ConversionException$e){
$ArrayGetToeBayDBDeleted[]='Oggetto con id->'。$tempObject->getId()。'ha dato problemi con il segunte messaggio'。$e->getMessage()。

; } }
很明显,我需要先捕获有错误的对象,然后在其他对象上继续foreach

无论如何,我不能进入捕捉区,例外情况总是被捕捉为“未捕获”

我必须指定正确的类型还是什么


谢谢你,伙计

这可能是由于命名空间解析规则

当您不在原则名称空间本身中时,应通过在异常类前面加反斜杠使其成为绝对的:

\Doctrine\DBAL\Types\ConversionException

您提供的代码块正在抛出您正在捕获的其他类型的异常。然后,您试图将此异常转换为
条令\DBAL\Types\ConversionException
,该异常将抛出不再捕获的新异常

先试试这个:

...
try { ... }
catch(\Exception $e) {
    $arrayOggettoEbayDBDeleted [] = '<b>Oggetto con id -> '.$tempObject->getId().' ha dato problemi con il seguente messaggio '.$e->getMessage().'<br/><br/>';
}
。。。
试试{…}
捕获(\异常$e){
$ArrayGetToeBayDBDeleted[]='Oggetto con id->'。$tempObject->getId()。'ha dato problemi con il segunte messaggio'。$e->getMessage()。

; }

这应该可以用。

它可以用
捕获(异常$e)
吗?可以,但我需要捕获该异常。谢谢你的帮助
...
try { ... }
catch(\Exception $e) {
    $arrayOggettoEbayDBDeleted [] = '<b>Oggetto con id -> '.$tempObject->getId().' ha dato problemi con il seguente messaggio '.$e->getMessage().'<br/><br/>';
}