PHP中的错误处理和异常处理

错误处理:
    1.语法错误
    2.运行时的错误
    3.逻辑错误

错误报告:
        错误E_ERROR
        警告E_WARNING
        注意E_NOTICE

开发阶段:开发时输出所有的错误报告,有利于我们进行调试
    运行阶段:不要让程序输出任何一种错误报告

将错误报告写入日志中
        一.指定错误报告error_reporting=E_ALL(在php.inn)
        二.关闭错误输出display_errors=off(在php.ini中)
        三.开启错误日志的功能log_errors=on(在php.ini中)
        1.默认如果不指定错误日志位置,则默认写入web服务器的日志中
        2.为error_log选项指定一个文件名,这个文件名就是错误日志
        3.写入到操作系统日志中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>";
?>

异常处理:意外,是在程序运行过程中发生的意料之外的事,使用异常改变脚本正常流程
    PHP5中的一个新的重要特性

try{

}catch(异常对象){

}
    1.如果try中代码没有问题,则将try中代码执行完成后就到catch后执行
    2.如果try中代码有异常发生,则抛出一个异常对象(使用throw),抛出给了catch中的参数,则在try中出现异常代码后的内容就不会执行,直接跳转到catch中去执行,catch中执行完成,再继续向下执行

<?php
try{
    echo "11111111<br>";
    $file[email protected]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[email protected]fopen("./hello.txt","r");
}
echo "4444444<br>";
?>
时间: 2024-10-10 15:00:46

PHP中的错误处理和异常处理的相关文章

PHP中的错误处理、异常处理机制

PHP中的错误处理.异常处理机制 在编写php程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); //这里并没有对文件进行判断就打开了,如果文件不存在就会报错 ?> 那么正确的写法应该如下: <?php if(file_exists('test.txt')){ $f=fopen('test.txt','r'); //使用完后关闭 fclose($f); } ?&

PHP中的错误处理、异常处理机制详解

在编写PHP程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); //这里并没有对文件进行判断就打开了,如果文件不存在就会报错 ?> 那么正确的写法应该如下: <?php if (file_exists('test.txt')) { $f = fopen('test.txt', 'r'); // 使用完后关闭 fclose($f); } ?> 一.PHP错误

转载 PHP中的错误处理、异常处理机制

在编写php程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); //这里并没有对文件进行判断就打开了,如果文件不存在就会报错 ?> 那么正确的写法应该如下: <?php if(file_exists('test.txt')){ $f=fopen('test.txt','r'); //使用完后关闭 fclose($f); } ?> 一.PHP错误处理的三种方

PHP中的错误和异常处理

在编写php程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); //这里并没有对文件进行判断就打开了,如果文件不存在就会报错 ?> 那么正确的写法应该如下: <?php if(file_exists('test.txt')){ $f=fopen('test.txt','r'); //使用完后关闭 fclose($f); } ?> 一.PHP错误处理的三种方

EBS OAF开发中的错误/异常处理(ErrorHandling) (转)

原文地址 EBS OAF开发中的错误/异常处理(ErrorHandling) EBS OAF开发中的错误/异常处理(ErrorHandling) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 总览 这篇文档描述了如何在你的Model和控制器代码中抛出OAF 框架异常. 内容 l  异常类型 l  异常类 l  批量异常 l  异常示例 l  对话框页和消息对话框 异常类型 OAF框架处理三种基本类型的异常:常规(general),验证(

[erlang 001]erlang中的错误及异常处理

一. erlang中的错误 1. 分类     1) 编译错误:主要是编译器检测出的代码语法错误:     2) 逻辑错误:是指程序没有完成预期的工作,属于开发人员的问题:     3) 运行时错误:是指erlang运行时抛出的错误,比如对非数据类型执行算术运算,erlang运行时会捕获异常,并抛出.在erlang中,这类异常的类型为error:     4) 用户代码生成的错误:是指通过exit/1或者throw/1生成. 2. 异常 我们把运行时错误以及用户抛出的错误称为异常(excepti

【PHP】解析PHP中的错误和异常处理

目录结构: contents structure [-] 错误级别 自定义处理器 设置异常日志 自定义异常类 在这篇文章中,笔者将会阐述PHP中的异常处理,希望能够对你有所帮助. 1.错误级别 PHP5中定义了16种不同的错误级别,下面仅仅粘贴其中几种. 级别常量 错误值 错误报告描述 E_ERROR 1 致命的运行时错误(阻止脚本执行) E_WARNING 2 运行时警告(非致命性错误) E_PARSE 4 从语法中解析错误 E_NOTICE 8 运行时注意消息(可能是或可能不是一个问题) E

iOS开发中xcode错误和异常处理

在开始这个的内容之前,我想先阐明两个在很多时候被混淆的概念,那就是异常 (exception) 和错误 (error). 在 Objective-C 开发中,异常往往是由程序员的错误导致的 app 无法继续运行,比如我们向一个无法响应某个消息的 NSObject 对象发送了这个消息,会得到 NSInvalidArgumentException 的异常,并告诉我们 "unrecognized selector sent to instance":比如我们使用一个超过数组元素数量的下标来试

plsql的错误信息与异常处理

7 错误消息与异常处理 7.1 异常的介绍 (1) 处理异常分为三个步骤:  A 声明异常  B 引发异常  C 处理异常 (2) 异常的特征  A 错误类型: ORA-xxxxx  运行时错误               PLS-xxxxx  编译错误  B 错误代码:xxxxx  C 错误的文本描述 案例1:编译错误的案例PLS SQL> create or replace procedure p1 is  2  begin  3  null;  4  end;  5  / Procedur