PHP系列(七)PHP错误异常处理-创新互联

1、Php错误报告级别

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的台山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。

2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。

4 E_PARSE 编译时解析错误。解析错误只由分析器产生。

8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)

error_reporting = E_ALL & ~E_NOTICE

2、自定义php错误报告方式

set_error_handler("myerrorfun");

$mess ="";

function  myerrorfun($error_type,$error_message,$error_file,$error_line){

global $mess;

$mess.="发生错误级别为{$error_type}类型、错误消息{$error_message},在文件夹{$error_file},第{$error_line}行。
";

}

getType($a);

echo"$mess";

显示为:发生错误级别为8类型、错误消息Undefined variable: a,在文件夹C:\AppServ\www\index.php,第9行。

set_error_handler($_type,$_message,$_errfile,$_errline) 函数设置用户自定义的错误处理程序,然后触发错误

3、php记录错误日志

log_errors = on 开启php日志

error_log =syslog  将php日志写到系统上去。

error_log = “c:/lamp/php_error.log”;自已指定一个存放目录、与上面相斥

ini_set(“log_errors”,“on”); 在php开发文件里设置

try{

echo"开始";

run();

}catch(Exception $e){

echo$e->getMessage()."
";

}

//当try{}里面不成功就抛出catch里面的异常

4、自定义异常类

//自定义异常类、必须是系统类Exception的子类

//如果继承Exception类、重写了构造方法、一定要调一下父类中被覆盖的方法/

class  MyBtException extends  Exception{

function__construct($mess){

parent::__construct($mess);

}

functionchangBt(){

echo"换个备胎";

}

}

try{

throw  new  MyBtException("车子胞胎");

echo"路况很好!";

}catch(MyBtException $e){

Echo  $e->getMessage()."
";

$e->changBt()."
";

}

5、自定义多个异常类

//写出对应这个异常解决方法, 就是一下正常类的结构

class MyBtException  extends  Exception{

function__construct($mess) {

parent::__construct($mess);

}

functionchangBt() {

echo"换上备胎!";

}

}

class  WcException  extends  Exception {

functionpro() {

echo"去公厕
";

}

}

class  NoException  extends  Exception {

functionpro() {

echo"买面色凑合一下!
";

}

}

Class  FlException  extends  Exception {

functionpro() {

echo"走小路!
";

}

}

class  Dm  {

function gowc($bj) {

if(!$bj){

throw new WcException("马桶不好用了");

}

echo"哈哈,事儿办的很成功!
";

}

function eat($time) {

if(!$time){

thrownew NoException("起来晚了,早餐没了!");

}

echo"吃的很好!
";

}

function dri($dz) {

if(!$dz){

throw new  MyBtException("爆胎了");

}

echo"车开的不错!
";

}

function run($yu) {

if(!$yu){

throw new  FlException("天下雪了, 高速封路了");

}

echo"高速很好走!
";

}

}

echo "早上起床
";

try{

$dm =new  Dm();

// 1. 上厕所  (马桶不好用了),去公厕

$dm-> gowc(true);

// 2. 吃早餐 (没有早点),买面包

$dm-> eat(true);

//3. 开车上班 (爆tai)         换下

$dm->dri(true);

//4. 上高速  (下雪)  小路

$dm->run(false);

} catch(MyBtException  $e) {   //  Exception $e = newException('');

echo$e->getMessage()."
";

//自定义类中的解决方法调用,解决了问题

$e->changBt()."
";

try {

}catch(Exception$e) {

}

} catch(NoException $e) {

echo$e->getMessage()."
";

$e->pro();

} catch(WcException $e) {

echo$e->getMessage()."
";

$e->pro();

} catch(Exception $e) {

echo$e->getMessage()."
";

//$e->pro();

}

echo"到公司开始工作
";

微信扫一扫 、关注公众号

不定时分享资料视频

PHP系列(七)PHP错误异常处理

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:PHP系列(七)PHP错误异常处理-创新互联
浏览地址:http://scyanting.com/article/ddjjdo.html