Maison développement back-end tutoriel php Gestion des exceptions PHP et partage des méthodes de gestion des erreurs

Gestion des exceptions PHP et partage des méthodes de gestion des erreurs

Mar 07, 2018 am 09:47 AM
php 方法 错误

Exceptions en PHP : Il s'agit d'une interruption de la logique et des processus métier. Erreurs en PHP : ses propres problèmes, syntaxe illégale ou problèmes environnementaux, le compilateur ne peut pas passer le contrôle et ne peut pas s'exécuter. et les méthodes de gestion des erreurs, j'espère que cela pourra aider tout le monde.

Comment utiliser le mécanisme de gestion des exceptions

La différence entre diviser par zéro les exceptions en php et java

<?php
/**
 * Created by PhpStorm.
 * User: wangkai
 * Date: 2018/3/6
 * Time: 上午8:53
 */
$a=null;
try{
    $a=5/0;
    echo $a;
}catch (exception $e){
    $e->getMessage();
    $a=-1;
}
echo $a;
Copier après la connexion

Exécution des résultats


implémentation Java

public class ExcepetionTry{
    public static void tp() throws ArithmeticException{
        int a;
        a=5/0;
        system.out.println("运算结果:"+a);
    }
    public static void main(String[] args){
        int a;
        try{
         a=5/0;
         System.out.println("运算结果"+a);
        }catch(ArithmeticException e){
            e.printStackTrace();
        }finally{
            a=-1;
            System.out.println("运算结果"+a);
        }
        try{
            ExceptionTry.tp();
        }catch(Exception e){
            System.out.println("异常被捕获");
        }
        }
    }
}
Copier après la connexion

En PHP, cela est considéré comme une erreur et l'erreur est déclenchée directement sans lancer automatiquement d'exception. PHP ne peut intercepter les exceptions qu'après l'avoir activement lancée<. 🎜 >

En Java, la division par zéro est considérée comme une ArithmeticException, qui sera capturée et l'exception sera gérée


Pour faire simple, PHP traite toutes les situations anormales comme des erreurs, utilisez if else pour intercepter les exceptions. Les classes d'exceptions intégrées à PHP incluent pdoexception, exception de réflexion


Les exceptions en Java sont la seule méthode de rapport d'erreurs


Que faire avec les exceptions PHP Utilisez


1 pour faire une prédiction pessimiste du programme


2 Besoins du programme et préoccupations commerciales


Téléchargez des fichiers et enregistrez-les dans le base de données pour assurer la cohérence des données métiers


Deux méthodes de capture des exceptions


Lorsque les premières anomalies surviennent, elles capturent immédiatement


La seconde est la capture de concentration décentralisée et anormale

<?php 
try{
//可能出错的代码段
if(文件上传不成功)throw(上传异常)
if(插入数据库不成功)throw(数据库操作异常)
}catch(异常){
必须的补救措施,如删除文件,删除数据库插入记录
}
}
Copier après la connexion
3 niveaux de langage >

1.6.2 Comment voir les exceptions PHP
<?php
上传{
if(文件上传不成功)throw (上传异常)
if(插入数据不成功)throw (数据库操作异常)
//其他代码
try{
上传,其他;}
catch(上传异常){
必须的补救措施,删除文件,删除数据插入记录
}catch(其他异常){
记录log
}
Copier après la connexion

Le mécanisme d'exception de PHP est insuffisant. se concentrer sur les exceptions qui se sont produites, tandis que Java se concentre sur la capture des exceptions et la correction ultérieure

La meilleure façon est de lancer activement des exceptions en conjonction avec la gestion des erreurs en php


1.6.3 Niveau d'erreur en PHP

Erreur PHP : entraînera un fonctionnement anormal du script

Les erreurs sont des catégories suivantes :


obsolète Le erreurs de niveau le plus bas, non recommandées, non recommandées, causées par des fonctions ou une syntaxe obsolètes


avis Il y a un endroit inapproprié dans la syntaxe pour utiliser une variable mais il n'est pas défini L'index des données est un caractère. sans guillemets. PHP le traitera comme une constante. Vérifiez la table des constantes


et elle est introuvable, puis considérée comme un loup


Un avertissement est. une erreur de niveau relativement élevé. Des situations inappropriées se produisent dans la syntaxe, comme une incompatibilité de paramètres de fonction. Ce type d'erreur doit obtenir le résultat attendu


L'erreur fatale de Fetal Error conduit directement à la fin du PHP. Ce dernier code ne fonctionne pas


Erreur d'analyse de syntaxe d'erreur de Prase Affichage de l'erreur, paramètre du fichier php.ini La qualité ou l'environnement n'est pas bon Pour contrôler l'heure, utilisez error_reporting(0) ou ajoutez @.


devant la fonction. 1.6.4 Mécanisme de gestion des erreurs en PHP


Il existe un mécanisme de gestion des erreurs en php qui peut être utilisé set_error_handler prend en charge la gestion des erreurs PHP.


set_error_handler(error_function,error_types)


error_function spécifie la fonction à exécuter lorsqu'une erreur se produit, doit être

error_types 规定在哪个错误报告级别会显示用户定义的错误,可选

<?php

/**
 * Created by PhpStorm.
 * User: wangkai
 * Date: 2018/3/6
 * Time: 上午10:03
 */
 // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<b>Custom error:</b> [$errno] $errstr<br>";
     echo " Error on line $errline in $errfile<br>";
 }

 // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");

 $a=array(&#39;o&#39;=>2,4,5,6);
 echo $a[o];


 ?>
Copier après la connexion

主动抛出异常实现


function customError($errno,$errstr,$errfile,$errline){
throw new Exception($level.$errstr);
}
set_error_handler("customeError");
try{
$a=5/0;
}catch(Exception $e){
echo "错误信息:".$e->getMessage();
}
Copier après la connexion

相关推荐:

什么是PHP异常处理

PHP异常处理器的自定义

使用php异常处理类Exception的例子

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles