php自定义错误处理和try{}catch(){}学习
<?php //语法错误 //运行时的错误 //逻辑错误 //php的错误报告级别 // display_errors; // ini_set("display_errors", "On"); // error_reporting(); // error_reporting = E_ALL &~ E_NOTICE; //除了什么以外 error_reporting(0); //屏蔽系统的错误信息 function error_handler($errLevel, $errMsg, $errFile, $errLine){ switch($errLevel){ case E_NOTICE; case E_USER_NOTICE; $errType = "notice"; break; case E_WARNING; case E_USER_WARNING; $errType = "warning"; break; case E_ERROR; case E_USER_ERROR; $errType = "error"; break; default: $errType = "UnKnown"; } printf("错误的级别为:%s,错误的信息为:%s,发送在%s的%s行", $errLevel, $errMsg, $errFile, $errLine); } set_error_handler("error_handler"); //用这个函数来调用自己定义错误函数 // echo $err; //如何屏蔽这些系统的错误级别信息 echo 3/0; trigger_error("这是一个自定义的错误", E_USER_ERROR); //用户自定义一个错误 ?> <?php /* 写错误日志 先配置php.ini: error_reporting = E_ALL display_errors = Off log_errors = On log_errors_max_log = 1024 error_log = G:/myerror.log //去除前面的分号就是开启 */ error_log("这是一个错误信息"); //用这个函数,就可以向我们配置好的日子文件中发送错误信息 ?> <?php //try{}catch(){}抛出异常学习 //创建可抛出一个异常的函数 function checkNum($number){ if($number>1){ throw new Exception("Value must be 1 or below"); } return true; } //在 "try" 代码块中触发异常 try{ checkNum(2); //这时候会抛出一个异常,这个异常将会被下面的catch捕获 //如果没有异常,返回的就是true,就会执行下面的代码 //如果异常被抛出,那么下面一行代码将不会被输出,跳到catch()捕获这个异常 echo 'If you see this, the number is 1 or below'; }catch(Exception $e){ //$e 是一个对象 //捕获异常 echo "<pre>"; print_r($e); echo "</pre>"; // echo $e->getCode(); echo 'Message: ' .$e->getMessage(); } ?> <?php //再看一个实例 try{ $i = 5; if($i < 10){ throw new exception("$i must greater than 10"); //抛出异常 } }catch(Exception $e){ //捕获异常 // echo $e->getMessage(); throw new exception('errorinfo'); } ?>
php自定义错误处理和try{}catch(){}学习的更多相关文章
- ReactiveX 学习笔记(8)错误处理和 To 操作符
Error Handling Operators Operators to Convert Observables 本文的主题为对 Observable 进行错误处理的操作符以及转换 Observab ...
- php错误处理和php异常处理机制
php错误处理 当我们开发程序时,有时候程序出现了问题,我们就可以用以下几种办法找出错误. 开发阶段:开发时输出所有的错误报告,有利于我们进行程序调试 运行阶段:我们不要让程序输出任何一种错误报 ...
- 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧
目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...
- PHP学习笔记三十三【自定义错误处理器】
<?php //自定义错误处理器 //$errorno 错误号 //$errmes错误信息 //这两个参数是必须的 function my_error($errorno,$errmes) { e ...
- Flask的错误日志处理和|ORM操作
flask有个很人性化的处理就是 你的错误的输出是可以通过错误日志来自定义 ,让你输入的错误不再是“大黄页”, 通过 errorhandler()来装饰函数之后你的所有的输入错误的函数你都会进入这个 ...
- PHP自定义错误处理
自定义错误报告的处理方式,可以完全绕过标准的PHP错误处理函数,这样就可以按照自己定义的格式打印错误报告,或改变错误报告打印的位置(标准PHP的错误报告是哪里发生错误就在发生位置处显示).以下几种情况 ...
- 解决 ASP.NET Core 自定义错误页面对 Middleware 异常无效的问题
我们基于 Razor Class Library 实现了自定义错误页面的公用类库(详见之前的随笔),但是在实际使用时发现如果在 middleware 中发生了异常,则不能显示自定义错误页面,而是返回默 ...
- C++复习8.异常处理和RTTI
C++异常处理和RTTI技术 20130930 1.异常处理的基本知识 C语言中是没有内置运行时错误处理机制,对于错误发生的时候使用的几种处理机制: 函数返回彼此协商后统一定义的状态编码来表示操作成功 ...
- ASP.NET Core中显示自定义错误页面-增强版
之前的博文 ASP.NET Core中显示自定义错误页面 中的方法是在项目中硬编码实现的,当有多个项目时,就会造成不同项目之间的重复代码,不可取. 在这篇博文中改用middleware实现,并且放在独 ...
随机推荐
- eclipse java工程和maven工程的互相转换
eclipse java工程和maven工程的互相转换 maven转为工程一般工程: 工程右键--->Maven--->Disable Maven Nature转为一般工程. 一般工程转为 ...
- Everything文件名实时搜索||解决局域网文件共享问题
内容概要:Everything中文版下载地址及使用.用Everything轻松解决局域网文件共享问题.Everything语言设置问题 另:Everything只支持NTFS格式的磁盘(工作原理的缘故 ...
- Error 2147943712 during task creation
In a Windows 2008 server, when you confirm the creation of a new task, you may obtain the following ...
- $_ 与 $PSItem
PowerShell 3.0 中的$PSItem 此文章于2012年11月4日发表在PowershellPowershell小技巧并加以Powershell 3.0管道的标签 by Mooser Le ...
- iOS segue 跳转
场景描述: 要实现在tableViewController 的界面A里,点击一个cell ,跳转到第二个viewController的界面B .在第二个界面里做相应操作. 我的做法,利用sb,在A 里 ...
- tmux使用笔记
tmux是指通过一个终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件. 安装tmux需要先安装依赖包libevent,因为libevent安装在临时位置,所以在编译tmux过程中用到n ...
- 关于APP接口设计
最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项: 1.效率:接口访问速度 APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所 ...
- shell 中的引用
1. 什么叫引用对 shell 脚本.程序.终端命令.变量.字符串等结果的反馈.2. 引用的类型 " " 双引号 ` 反引号' ' 单引号 ...
- Oracle 常见问题
查看Oracle数据库是否安装成功 sqlplus /nolog SQL>conn / as sysdba Connected to an Idle instance(表明成功) SQL> ...
- Redis安装及初步使用
一.Centos下安装Redis1.wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm2.rp ...