gestion des exceptions php
大家讲道理
大家讲道理 2017-05-16 13:02:45
0
3
442
essayer{
    echo 'essayez <br/>';
    $mysql = new mysqli('localhost', 'root', '111', 'test');
} attraper (Exception $e){
    echo 'attraper <br/>';
    echo $e->getMessage();

Le code est comme ci-dessus, une exception s'est produite
Résultat :
essayez

Avertissement : mysqli::mysqli() : (28000/1045) : Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) dans /home/test/its2/webroot/public/unserialize.php à la ligne 31

Pourquoi le catch de sortie n'est-il pas exécuté ?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(3)
PHPzhong

Vous devez dire à mysqli de lancer une exception au lieu d'un avertissement.

mysqli_report(MYSQLI_REPORT_STRICT); // 加上这一行!!!

try{
    echo 'try <br/>';
    $mysql = new mysqli('localhost', 'root', '111', 'test');
} catch (Exception $e){
    echo 'catch <br/>';
    echo $e->getMessage();
}

Visitez à nouveau, les résultats sont les suivants :
essayez
catch
Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)

阿神

Veuillez distinguer clairement la différence entre l'avertissement et l'exception.

Les avertissements et les erreurs en PHP sont des problèmes que PHP rappelle aux développeurs dans le programme. Ce problème ne doit pas nécessairement être traité.
L'exception est un problème qui est personnalisé et doit en principe être traité. une exception correspondante pour Exception Traité

.
黄舟

Regardez ceci http://www.cnblogs.com/water0...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal