Dieser Artikel führt hauptsächlich eine kurze Diskussion der Fehlerbehandlung und Ausnahmebehandlung in PHP ein. Jetzt kann ich ihn mit Ihnen teilen.
Fehlerbehandlung:
1. Syntaxfehler
2. Laufzeitfehler
3. Logikfehler
Fehlerbericht:
E_ERROR Laufphase: Lassen Sie das Programm keinen Fehlerbericht ausgeben
Fehlerbericht in das Protokoll schreiben
2. Deaktivieren Sie die Fehlerausgabe display_errors=off (in php.ini)
3. Aktivieren Sie die Fehlerprotokollfunktion log_errors=on (in php.ini)
1. Wenn der Speicherort des Fehlerprotokolls nicht angegeben ist, wird es standardmäßig in das Protokoll des Webservers geschrieben2. Geben Sie einen Dateinamen für die Option „error_log“ an. Dieser Dateiname ist das Fehlerprotokoll 3. Schreiben Sie in das Betriebssystemprotokoll error_log=syslog
<?php //注意和警告都不会终止程序的运行,但是错误会终止程序的运行 /* 错误E_ERROR 警告E_WARNING 注意E_NOTICE */ //所有的错误都输出除了注意 error_reporting(E_ALL & ~E_NOTICE); //设置配置文件的值(临时) //ini_set("upload_max_filesize", 2000000000); //得到配置文件的值 //ini_get("upload_max_filesize"); //关闭错误报告的显示,一般在运行阶段使用 ini_set("display_errors", "off"); //将错误报告写入日志中 ini_set("log_errors", "on"); //日志的目录 ini_set("error_log", "D:/error.log"); gettype($var); //注意 gettype(); //警告 //getype(); //错误,程序终止 echo "############<br>"; ?>
Eine neue wichtige Funktion in PHP5
try{ }catch(异常对象){ }
2. Wenn im Code in try eine Ausnahme auftritt, werfen Sie ein Ausnahmeobjekt ( Verwenden Sie throw) und werfen Sie es auf die Parameter in Catch. Anschließend wird der Ausnahmecode in try angezeigt. Der Inhalt danach wird nicht ausgeführt. Springen Sie zur Ausführung direkt zum Catch, die Ausführung wird im Catch abgeschlossen und fahren Sie dann mit der Ausführung fort
<?php try{ echo "11111111<br>"; $file=@fopen("./hello.txt","r"); if(!$file){ throw new Exception("文件打开失败"); } echo "2222222222<br>"; }catch(Exception $e){ echo "3333333<br>"; echo $e->getMessage()."<br>"; touch("hello.txt"); $file=@fopen("./hello.txt","r"); } echo "4444444<br>"; ?
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion zur Fehlerbehandlung und Ausnahmebehandlung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!