Home  >  Article  >  PHP Framework  >  How does swoole handle errors?

How does swoole handle errors?

(*-*)浩
(*-*)浩Original
2019-12-16 09:47:112295browse

How does swoole handle errors?

#You can directly use try/catch to handle exceptions in coroutine programming. However, exceptions must be caught within the coroutine and cannot be caught across coroutines.

Not only the Exception thrown by the application layer, but also some errors at the bottom level can also be captured, such as function, class, method does not exist

Error (Recommended learning: SWOOLE Video Tutorial )

The code below, Try/Catch and Throw cannot capture this abnormality in the coroutine.

When the coroutine exits, an uncaught exception is found, which will cause a fatal error.

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

Correct

Catch exceptions within the coroutine.

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

The above is the detailed content of How does swoole handle errors?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn