捕获PHP异常

捕获PHP异常,php,try-catch,Php,Try Catch,我正在使用UrbanAirship库并将其导入我的php脚本,然后像这样使用它: 使用UrbanAirship\Push作为P; //下面是一些方法。。。 试一试{ $dev=P\deviceToken(“..”); }捕获量(无效argumentexception$e){ 继续; } 如果我查看deviceToken方法,我会看到他们在错误输入上抛出InvalidArgumentException。然而,当这种情况发生时,我的脚本只是异常中止,而不是捕获它并继续 我是否需要做一些特殊的事情来

我正在使用UrbanAirship库并将其导入我的php脚本,然后像这样使用它:

使用UrbanAirship\Push作为P;
//下面是一些方法。。。
试一试{
$dev=P\deviceToken(“..”);
}捕获量(无效argumentexception$e){
继续;
}
如果我查看deviceToken方法,我会看到他们在错误输入上抛出InvalidArgumentException。然而,当这种情况发生时,我的脚本只是异常中止,而不是捕获它并继续


我是否需要做一些特殊的事情来捕获此异常?

我感觉名称空间可能会使您的问题复杂化

在命名空间内捕获异常时,转义到全局空间非常重要

试试这个:

use UrbanAirship\Push as P;

// Down inside some method...
try {
    $dev = P\deviceToken('....');
} catch (\InvalidArgumentException $e) {
    continue;
}
只在循环中工作。如果您不想对异常执行任何操作,只需将catch块留空即可

use UrbanAirship\Push as P;

// Down inside some method...
try {
    $dev = P\deviceToken('....');
} catch (InvalidArgumentException $e) {
    // Do nothing
}

它会抛出什么异常?谢谢,这就是问题所在!在异常名称前面添加\使其按预期工作。我处于循环中。我只是在展示一个剪短的。即使不是这样,您的建议也没有解决异常未被捕获的问题。
use UrbanAirship\Push as P;

// Down inside some method...
try {
    $dev = P\deviceToken('....');
} catch (InvalidArgumentException $e) {
    // Do nothing
}