捕获 PHP 异常

Catch PHP exception

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

use UrbanAirship\Push as P;

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

如果我查看 deviceToken 方法,我会看到它们在输入错误时抛出 InvalidArgumentException。但是,当发生这种情况时,我的脚本只是异常中止,而不是捕获它并继续前进。

我需要做些什么来捕获这个异常吗?

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

When catching an exception inside a namespace it is important that you escape to the global space.

试试这个:

use UrbanAirship\Push as P;

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

只在循环中有效。如果您不想对异常执行任何操作,只需将 catch 块留空即可。

use UrbanAirship\Push as P;

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