Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Ausnahmebehandlung und gemeinsame Nutzung von Fehlerbehandlungsmethoden
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
PHP-Fehler: führt zu einem abnormalen Betrieb des Skripts
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('o'=>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(); }
相关推荐:
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!