标题:浅谈PHP中的错误处理和异常处理
只看楼主
堕落黑天使
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2016-12-22
结帖率:0
 问题点数:0 回复次数:1 
浅谈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中执行完成,再继续向下执行

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>";
?>

更多内容:http://www.网站建设
搜索更多相关主题的帖子: web服务器 开发 
2017-03-10 11:22
gxqskj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-9-22
得分:0 
感谢楼主的分享,学习收藏了!
南宁网站设计 http://www.

千树科技为企业设计有效果的网站!
2017-09-22 10:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474923-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.403879 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved