PHP中的错误与异常
来源:互联网 发布:专业电脑视频剪辑软件 编辑:程序博客网 时间:2024/04/28 04:18
错误与异常是两个完全不同的概念
错误
错误类型
共16个
错误级别
(1) Deprecated 不推荐使用
if (ereg('/llo/', 'hello world')) { echo 'yes2';} else { echo 'no2';}
输出
Deprecated: Function ereg() is deprecated in /Users/weiheli/www/php/003.php on line 3no
(2) Notice 通知级别
$arr = ['a'=>'aaa', 'b'=>'bbb'];echo $arr[a];
输出
Notice: Use of undefined constant a - assumed 'a' in /Users/weiheli/www/php/003.php on line 4aaa
(3) Warning 警告级别
settype($var, 'abc');echo $var;
输出
Warning: settype(): Invalid type in /Users/weiheli/www/php/003.php on line 3
(4) Fatal error 致命级别
// 调用未定义的函数fn(12);
输出
Fatal error: Call to undefined function fn() in /Users/weiheli/www/php/003.php on line 3
(5) Parse error 解析错误
echo 'hello world'
输出
Parse error: parse error, expecting `','' or `';'' in /Users/weiheli/www/php/003.php on line 3
(6) E_USER_ 用户级别的错误
配置错误
; 是否显示错误。解析错误始终都会显示display_errors = On; 显示哪些错误;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICTerror_reporting = E_ALL
可以在运行时设置 error_reporting 指令
error_reporting()
也可以使用ini_set
函数设置
用户抛出错误
trigger_error(string $error_msg [, int $error_type = E_USER_NOTICE ])
记录日志
php.ini中的配置
是否记录错误日志log_errors = On错误日志最大字节数log_errors_max_len = 1024是否忽略重复错误ignore_repeated_errors是否忽略重复信息来源ignore_repeated_source保存到系统日志中error_log = syslog
记录日志函数
error_log()openlog() syslog()closelog()
自定义错误处理
set_error_handler — 设置一个用户定义的错误处理函数
异常
try { $num = 1 / 0;} catch (Exception $e) { echo $e->getMessage();}Warning: Division by zero in /Users/weiheli/www/php/003.php on line 4
从上面的代码可以看出,PHP中不会自动抛出异常,一定要使用throw
,这一点与Java不同
try { $num = 0; if ($num === 0) { throw new Exception('不能为0'); }} catch (Exception $e) { echo $e->getMessage(); echo 'abc';}
内置异常类如PDO不用throw
throw
之后的语句不会被执行
try不能独立使用
Fatal error: Cannot use try without catch or finally in /Users/weiheli/www/php/003.php on line 8
自定义异常处理
set_exception_handler — 设置一个用户定义的异常处理函数
0 0
- PHP中的错误与异常
- PHP程序中的错误与异常
- 浅析php中的异常与错误
- PHP错误与异常
- PHP错误与异常
- Zend Framework 中的 Php 编码标准 (五) - 错误与异常
- Zend Framework 中的 Php 编码标准 (五) - 错误与异常
- php中的错误与异常处理(一)
- php错误与异常处理
- SWT中的错误与异常
- Java中的错误与异常
- PowerShell中的错误与异常
- PHP中的错误处理、异常处理机制
- PHP中的错误处理、异常处理机制
- PHP中的错误处理、异常处理机制
- PHP中的错误和异常处理
- php中的错误和异常处理
- php编程之错误与异常
- LTE学习:下行参考信号的总结
- 超链接的一些常规CSS设置
- 用afn向服务器上传图片
- 使用电脑时突然按键时输入的是乱七八糟的东西
- Unity3d使用UGUI实现长按功能
- PHP中的错误与异常
- Packets(模拟 POJ1017)
- 【白书之路】340 - Master-Mind Hints 数字统计
- 图论:拓扑排序
- Matlab界面设计入门
- Windows下Nginx的安装与配置
- How to deploy iOS apps to the iPhone via the command line
- android 布局
- morose things go by