Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Ausnahmebehandlung und gemeinsame Nutzung von Fehlerbehandlungsmethoden

PHP-Ausnahmebehandlung und gemeinsame Nutzung von Fehlerbehandlungsmethoden

小云云
小云云Original
2018-03-07 09:47:222589Durchsuche

Ausnahmen in PHP: Es handelt sich um eine Unterbrechung von Logik- und Geschäftsprozessen. Fehler in PHP: eigene Probleme, illegale Syntax oder Umgebungsprobleme, der Compiler kann die Prüfung nicht bestehen und kann nicht ausgeführt werden und Fehlerbehandlungsmethoden, ich hoffe, es kann allen helfen.

So verwenden Sie den Ausnahmebehandlungsmechanismus

Der Unterschied zwischen der Division durch Null-Ausnahmen in PHP und 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;

Ausführungsergebnisse


Java-Implementierung

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("异常被捕获");
        }
        }
    }
}

In PHP wird dies als Fehler betrachtet und der Fehler wird direkt ausgelöst, ohne automatisch eine Ausnahme auszulösen. PHP kann Ausnahmen nur abfangen, nachdem es aktiv ausgelöst wurde

In Java wird die Division durch Null als ArithmeticException betrachtet, die erfasst und die Ausnahme behandelt wird

Um es einfach auszudrücken: PHP behandelt alle abnormalen Situationen als Fehler, verwenden Sie if else, um Ausnahmen abzufangen. Zu den integrierten Ausnahmeklassen von PHP gehören pdoException und ReflectionException.

Ausnahmen in Java sind die einzige Methode zur Fehlerberichterstattung.

Was mit PHP-Ausnahmen geschehen sollte Verwenden Sie

1, um eine pessimistische Vorhersage des Programms zu treffen

2 Programmanforderungen und geschäftliche Bedenken

Laden Sie Dateien hoch und speichern Sie sie im Datenbank, um die Konsistenz von Geschäftsdaten sicherzustellen

Zwei Ausnahmeerfassungsmethoden

Wenn die ersten Anomalien auftreten, werden sie sofort erfasst


Die zweite ist die dezentrale und abnormale Konzentrationserfassung

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

3 Sprachebenen >

<?php
上传{
if(文件上传不成功)throw (上传异常)
if(插入数据不成功)throw (数据库操作异常)
//其他代码
try{
上传,其他;}
catch(上传异常){
必须的补救措施,删除文件,删除数据插入记录
}catch(其他异常){
记录log
}
1.6.2 So sehen Sie PHP-Ausnahmen


Der Ausnahmemechanismus von PHP ist unzureichend sich auf die aufgetretenen Ausnahmen zu konzentrieren, während sich Java auf die Ausnahmeerfassung und die anschließende Behebung konzentriert

Der beste Weg ist, Ausnahmen aktiv in Verbindung mit der Fehlerbehandlung in PHP auszulösen


1.6.3 Fehlerstufe in PHP


PHP-Fehler: führt zu einem abnormalen Betrieb des Skripts

Fehler gehören zu den folgenden Kategorien:


veraltet Fehler auf niedrigster Ebene, nicht empfohlen, nicht empfohlen, verursacht durch veraltete Funktionen oder Syntax


Hinweis Es gibt eine ungeeignete Stelle in der Syntax, an der eine Variable verwendet werden kann, diese ist jedoch nicht definiert. Der Datenindex ist ein Zeichen ohne Anführungszeichen. PHP wird es als Konstante behandeln


und es wird nicht gefunden und dann als Wolf betrachtet Fehler auf relativ hoher Ebene treten in der Syntax auf, z. B. eine Nichtübereinstimmung der Funktionsparameter.


Der schwerwiegende Fehler von Fetal Error führt direkt zum Ende des PHP-Prozesses . Der letztgenannte Code führt nicht aus


Fehler bei der Syntaxanalyse, Fehler in der php.ini-Dateieinstellung. Qualität oder Umgebung ist nicht gut. Um die Zeit zu kontrollieren, verwenden Sie error_reporting(0) oder fügen Sie @


vor der Funktion 1.6.4 Fehlerbehandlungsmechanismus in PHP


Es gibt einen Fehlerbehandlungsmechanismus in PHP, der verwendet werden kann set_error_handler übernimmt die PHP-Fehlerbehandlung


set_error_handler(error_function,error_types)


error_function gibt die Funktion an, die ausgeführt werden soll, wenn ein Fehler auftritt, muss

sein

             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];


 ?>

主动抛出异常实现

        

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();
}

相关推荐:

什么是PHP异常处理

PHP异常处理器的自定义

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

Das obige ist der detaillierte Inhalt vonPHP-Ausnahmebehandlung und gemeinsame Nutzung von Fehlerbehandlungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn