我写了一个自定义的错误记录方法,并在可能出错的地方实现它。但是对于RabbitMQ,对我来说不清楚如何检查错误。这是我的代码
java.lang.ClassCastException: ...
android.app.Application cannot be cast to androidx.lifecycle.LifecycleOwner
我目前的做法很糟糕,因为它仅检查是否设置了变量require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;
$errorServiceObject = new ErrorService();
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
if(!isset($channel))
{
$errorServiceObject->LogError('RabbitMQ error.', 'Could not initiate a RabbitMQ connection.');
exit();
}
或仅在未正确启动连接的情况下检查。我想检查$channel
信息是否有效。考虑在我执行此操作的示例
new AMQPStreamConnection
。我需要在if语句中放入什么来触发错误处理功能?
答案 0 :(得分:0)
如果使用php-amqplib
,请查看文档。有一些代码片段说明了new AMQPStreamConnection
如何引发异常。参见https://github.com/php-amqplib/php-amqplib#connection-recovery。