Maison  >  Article  >  cadre php  >  Comment swoole gère-t-il les erreurs ?

Comment swoole gère-t-il les erreurs ?

(*-*)浩
(*-*)浩original
2019-12-16 09:47:112282parcourir

Comment swoole gère-t-il les erreurs ?

Vous pouvez directement utiliser try/catch pour gérer les exceptions dans la programmation coroutine. Cependant, les exceptions doivent être interceptées dans la coroutine et ne peuvent pas être interceptées entre les coroutines.

Non seulement les exceptions levées par la couche d'application, mais également certaines erreurs au niveau inférieur peuvent également être capturées, telles que la fonction, la classe, la méthode n'existent pas

Erreur (Apprentissage recommandé : Tutoriel vidéo SWOOLE )

Dans le code ci-dessous, Try/Catch and Throw ne peut pas capturer cette anomalie dans la coroutine.

Lorsque la coroutine se termine, une exception non interceptée est trouvée, ce qui provoquera une erreur fatale.

Fatal error: Uncaught RuntimeException
try {
    Swoole\Coroutine::create(function () {
        throw new \RuntimeException(__FILE__, __LINE__);
    });
}
catch (\Throwable $e) {
    echo $e;
}

Correct

Attrapez l'exception dans la coroutine.

function test() {
    throw new \RuntimeException(__FILE__, __LINE__);
}
Swoole\Coroutine::create(function () {
    try {
        test();
    }
    catch (\Throwable $e) {
        echo $e;
    }
});

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn