suchen
Heimphp教程php手册php 错误处理与异常处理方法与实例教程

在程序开发中,错误处理这一块是非常重要的,今天本文章就来告诉他关于在php开发中,错误处理函数并且举例说明错误处理的重要性。

1、内置异常处理类、2、捕获并处理异常的示例、3、exception类的成员函数getmessage()、4、exception类的成员函数getfile()、5、exception类的成员函数getline()、6、显示警告或错误信息、7、自定义错误处理函数。

1,内置异常处理类

<?php
class exception {
    protected $message = &#39;unknown exception&#39;; // 异常信息
    protected $code = 0; // 用户自定义异常代码
    protected $file; // 发生异常的文件名
    protected $line; // 发生异常的代码行号
    function __construct($message = null, $code = 0);
    final function getmessage(); // 返回异常信息
    final function getcode(); // 返回异常代码
    final function getfile(); // 返回发生异常的文件名
    final function getline(); // 返回发生异常的代码行号
    final function gettrace(); // backtrace() 数组
    final function gettraceasstring(); // 已格成化成字符串的 gettrace() 信息
    function __tostring(); // 可输出的字符串
    
}
?>

2、捕获并处理异常的示例

<?php
try {
    $error = &#39;抛出异常信息,并且跳出try块<br/>&#39;;
    if (is_dir(&#39;./test&#39;)) {
        echo &#39;检测到../ch16是一个目录&#39;;
        echo &#39;<br/>&#39;;
        echo &#39;可能继续做其他一些操作&#39;;
        echo &#39;<br/>&#39;;
        echo &#39;....&#39;;
        echo &#39;<br/>&#39;;
    } else {
        throw new exception($error, 12345);
    }
    echo &#39;上面throw异常的话,这行代码不会执行,转而执行catch块<br/>&#39;;
}
catch(exception $e) {
    echo &#39;捕获异常: &#39; . $e->getmessage() . "<br/>错误代码:" . $e->getcode() . &#39;<br/>&#39;; //显示$error和123456
    echo &#39;<br/>&#39;;
}
echo &#39;继续执行&#39;;
?>

3、exception类的成员函数getmessage()

<?php
$file = &#39;./test/readme.txt&#39;;
try {
    if (is_dir($file)) {
        echo &#39;检测到目录&#39;;
    } else {
        //创建异常对象,错误信息将有exception类的成员函数getmessage()返回
        throw new exception(&#39;未找到该目录或文件&#39;);
    }
}
catch(exception $e) {
    echo &#39;捕获异常: &#39; . $e->getmessage();
    echo &#39;<br/>===============================&#39;;
    echo &#39;<br/>&#39;;
}
echo &#39;程序执行完毕&#39;;
?>

4、exception类的成员函数getfile()

<?php
$file = &#39;./test/readme.txt&#39;;
try {
    if (is_dir($file)) {
        echo &#39;检测到目录&#39;;
    } else {
        //创建异常对象,错误信息将有exception类的成员函数getmessage()返回
        throw new exception(&#39;未找到该目录或文件&#39;);
    }
}
catch(exception $e) {
    echo &#39;捕获异常: &#39; . $e->getmessage();
    echo &#39;<br/><br/>&#39;;
    echo &#39;错误所在文件:&#39; . $e->getfile();
    echo &#39;<br/>===============================&#39;;
    echo &#39;<br/>&#39;;
}
echo &#39;程序执行完毕&#39;;
?>

5、exception类的成员函数getline()

<?php
$file = &#39;./test/readme.txt&#39;;
try {
    if (is_dir($file)) {
        echo &#39;检测到目录&#39;;
    } else {
        //创建异常对象,错误信息将有exception类的成员函数getmessage()返回
        throw new exception(&#39;未找到该目录或文件&#39;);
    }
}
catch(exception $e) {
    echo &#39;捕获异常: &#39; . $e->getmessage();
    echo &#39;<br/><br/>&#39;;
    echo &#39;错误所在文件:&#39; . $e->getfile();
    echo &#39;<br/><br/>&#39;;
    echo &#39;错误所在行号:&#39; . $e->getline();
    echo &#39;<br/>===============================&#39;;
    echo &#39;<br/>&#39;;
}
echo &#39;程序执行完毕&#39;;
?>

6、显示警告或错误信息

<?php
error_reporting(e_warning | e_error); //显示警告和错误信息
echo $uvar; //这里产生注意信息,但不会显示出来
callfunc(); //这里产生一个致命错误,并且会显示出来

?>

7、自定义错误处理函数。 

<?php
set_error_handler(&#39;myhandler&#39;); //自定义错误处理函数
function myhandler($code, $msg, $file, $line) {
    echo "<br/>";
    echo "程序 <b>$file</b> 执行过程中,在第 <b>$line</b> 行,产生一个错误。";
    echo "<br/>";
    echo "错误代码为:<b>$code</b>, 错误的原因是: <b>$msg</b>";
}
echo $uvar;
?>


本文链接:

收藏随意^^请保留教程地址.

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),