PHP基础学习之路(3)

这一次学习php的错误处理和异常处理
主要介绍常见的错误和异常

常见错误

1.拼写错误

PHP中的常量和变量都是区别大小写得。
PHP中的函数,方法名,类名不区分大小写,但是建议使用与定义相同的名字
魔术常量建议全部大写,包括 LINE,FILE,DIR,FUNCTION,CLASS,METHOD,NAMESPACE_

2.等号与赋值符号混淆

上一次说了PHP有三个符号,"=","==","==="。第一个是赋值符号,第二个是判断左右两边的值是否相等,第三个是判断左右两边的值是否相等且类型也是否相等。

3.缺少美元符号

在PHP中,设置变量时需要使用美元符号"$",如果不添加美元符号就会引起解析错误。

错误处理

php.ini中的错误处理机制
display_errors 默认值是on :设置错误作物php的一部分输出。开发过程可以采用默认的设置。但是为了安全考虑,在生产环境中还是设置off比较好
error_reporting 默认值是E_All :这个设置会显示所有的错误信息。这种设置会让一些无害的提示也显示。
所以可以设置error_reporting的默认值为error_reporting=E_ALL&~E_NOTICE,这样子只会显示错误和不良代码
error_log 默认值是null:设置记录错误日志的文件。默认情况下将错误发送到web服务器日志,用户也可以指定的写入文件。
html_errors 默认值为on:控制是否在错误信息中采用html格式
log_errors 默认值为off:控制是否应该将错误发送到主机服务器的日志文件
display_startop_errors默认值为off:控制是否显示php启动时的错误
track_errors 默认值为off:设置是否保存一个警告或错误信息

自定义错误和错误触发器

错误的级别值和含义
数值为2,常量为E_WARNING,非致命的run-time错误,不暂停脚本运行
数值为8,常量为E_NOTICE,run-time通知,脚本发现可能有错误发送,但也可能在脚本运行正常时发生
数值为256,常量为E_USER_ERROR,致命的用户生成的错误
数值为512,常量为E_USER_WARNING,非致命的用户生成的警告
数值为1024,常量为E_USER_NOTICE,用户生成通知
数值为4096,常量为E_RECOVERABLE_ERROR,可捕获的致命 错误
数值为8191,常量为E_ALL,所有的错误和警告

function customeError($errno,$errstr)
{
    echo "<b>错误:</b> [$errno] $errstr";
    echo "终止程序";
    die();
}
set_error_handler("customeError");
echo ($test);
$test=5;
if($test>4)
{
    //创建自定义错误信息
    trigger_error("123",E_USER_WARNING);
}
//错误记录,并发送到指定邮箱
function customeError($errno,$errstr)
{
    echo "<b>错误:</b> [$errno] $errstr";
    echo "错误信息已经发送";
    error_log("错误:[$errno] $errstr",1,"someone@qq.com","from 123@qq.com");
}
set_error_handler("customeError",E_USER_WARNING);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 11,802评论 3 64
  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 8,372评论 4 97
  • 简介 PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样...
    零一间阅读 3,904评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,120评论 19 139
  • 昨天在新东方教育的微信上看到《十个好习惯》的文章,其中第一条就是建立小目标。建立小目标有什么好处呢?它可以帮...
    amylismile阅读 3,848评论 1 0

友情链接更多精彩内容