Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone

Registered : 109,024

HOME > PHP Manual > Examples - Examples




Below we can see an example of using the error handling capabilities in PHP. We define an error handling function which logs the information into a file (using an XML format), and e-mails the developer in case a critical error in the logic happens.

Example #1 Using error handling in a script

// we will do our own error handling

// user defined error handling function
function userErrorHandler($errno$errmsg$filename$linenum$vars
// timestamp for the error entry
$dt date("Y-m-d H:i:s (T)");

// define an assoc array of error string
    // in reality the only entries we should
    // consider are E_WARNING, E_NOTICE, E_USER_ERROR,
$errortype = array (
E_ERROR              => 'Error',
E_WARNING            => 'Warning',
E_PARSE              => 'Parsing Error',
E_NOTICE             => 'Notice',
E_CORE_ERROR         => 'Core Error',
E_CORE_WARNING       => 'Core Warning',
E_COMPILE_ERROR      => 'Compile Error',
E_COMPILE_WARNING    => 'Compile Warning',
E_USER_ERROR         => 'User Error',
E_USER_WARNING       => 'User Warning',
E_USER_NOTICE        => 'User Notice',
E_STRICT             => 'Runtime Notice',
E_RECOVERABLE_ERROR  => 'Catchable Fatal Error'
// set of errors for which a var trace will be saved
$err "<errorentry>\n";
$err .= "\t<datetime>" $dt "</datetime>\n";
$err .= "\t<errornum>" $errno "</errornum>\n";
$err .= "\t<errortype>" $errortype[$errno] . "</errortype>\n";
$err .= "\t<errormsg>" $errmsg "</errormsg>\n";
$err .= "\t<scriptname>" $filename "</scriptname>\n";
$err .= "\t<scriptlinenum>" $linenum "</scriptlinenum>\n";

    if (
in_array($errno$user_errors)) {
$err .= "\t<vartrace>" wddx_serialize_value($vars"Variables") . "</vartrace>\n";
$err .= "</errorentry>\n\n";
// for testing
    // echo $err;

    // save to the error log, and e-mail me if there is a critical user error
    if (
$errno == E_USER_ERROR) {
mail("[email protected]""Critical User Error"$err);

    if (!
is_array($vect1) || !is_array($vect2)) {
trigger_error("Incorrect parameters, arrays expected"E_USER_ERROR);

    if (
count($vect1) != count($vect2)) {
trigger_error("Vectors need to be of the same size"E_USER_ERROR);

    for (
$i=0$i<count($vect1); $i++) {
$c1 $vect1[$i]; $c2 $vect2[$i];
$d 0.0;
        if (!
is_numeric($c1)) {
trigger_error("Coordinate $i in vector 1 is not a number, using zero"
$c1 0.0;
        if (!
is_numeric($c2)) {
trigger_error("Coordinate $i in vector 2 is not a number, using zero"
$c2 0.0;
$d += $c2*$c2 $c1*$c1;

$old_error_handler set_error_handler("userErrorHandler");

// undefined constant, generates a warning

// define some "vectors"
$a = array(23"foo");
$b = array(5.54.3, -1.6);
$c = array(1, -3);

// generate a user error
$t1 distance($c$b) . "\n";

// generate another user error
$t2 distance($b"i am not an array") . "\n";

// generate a warning
$t3 distance($a$b) . "\n";


ThaiCreate.Com Forum

Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO

Hit Link

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่