Мне было интересно, существует ли способ предотвратить цикл while из-за преждевременной ошибки или завершения. Я бросил попытку/поймать там, и, похоже, он заканчивается. (Что касается причины, по которой он заканчивается, я все еще отлаживаю).Можете ли вы предотвратить ошибку PHP-цикла?
$stomp = $this->stomp;
if(isset($queue) && strlen($queue) > 0) {
error_log('Starting Monitor for: '.$queue);
$stomp->subscribe($queue);
while(true) {
$frame = $stomp->readFrame();
if ($frame != null) {
// Callback must be an array: array('Class','Method);
if(is_array($callback) && count($callback) == 2) {
try {
$body = $frame->body;
$callFunct = call_user_func_array($callback,array($body,$arguments));
$stomp->ack($frame);
} catch(StompException $e) {
$msg = 'Stomp Monitor readFrame() Callback Fail: '.$e->getMessage();
$this->context->reportError('STOMP',array('errorDetails'=>$msg));
}
} else {
error_log('Invalid Stomp Callback');
}
}
}
} `
Спасибо, Стив
Можете ли вы дать нам некоторый код для просмотра? Трудно сказать, не видя ничего. – Cam
отправить отправить код –
Да, есть способ. – JAL