CodeIgniter 错误处理

错误处理

在你的程序里使用以下的函数,CodeIgniter将允许你建立自己的错误报告。另外,他有一个错误记录类能够将错误和调试信息保存为文本文档。

注意: 在默认的情况下, CodeIgniter 会显示所有的PHP错误. 但是当你开发程序结束时,你可能想要改变这个情况. 你会发现在index.php文件顶端有这个函数error_reporting(),通过它可以进行对错误的设置。 即使你关闭了错误报告,当有错误发生时,错误记录也不会停止。

不像大多数系统, CodeIgniter的错误报告函数是一个简单的程序接口,可以在整个应用程序里使用。 不用考虑类或者是函数的范围,这种办法可以直接触发错误通知。

可以使用以下函数来产生错误消息:

show_error('消息' [, int $status_code = 500 ] )

这个函数将会使用以下错误模版来显示错误消息:

application/errors/error_general.php

可选参数 $status_code 决定在显示错误的同时将会发送哪种 HTTP 状态代码。

show_404('页面')

这个函数将会使用以下错误模版来显示 404 错误信息:

application/errors/error_404.php

传递给该函数的字符串代表的是找不到的文件路径。注意CodeIgniter会在找不到目标控制器情况下,自动显示404消息。

log_message('级别', '消息')

这个函数可以让你将消息写入记录文件中。你必须在第一个参数中选择三个“级别“中的任何一个, 指明它是那一类消息(调试 debug, 错误 error, 信息info)。 第二个参数是消息本身。 例如:

if ($some_var == "")
{
    log_message('error', 'Some variable did not contain a value.');
}
else
{
    log_message('debug', 'Some variable was correctly set');
}

log_message('info', 'The purpose of some variable is to provide some value.');

有三种不同类型的消息:

  1. 错误类型的消息。 这种是真正的错误消息. 例如PHP错误或者用户错误。
  2. 调试类型的消息。 这种是用来帮助调试的消息。 例如, 如果当一个类被初始化时,你可以将这个初始化纪录下来,然后用于调试。
  3. 信息类型的消息。 这种是最低优先级别的消息,它只是简单的提供了关于运行的一些信息。 CodeIgniter 不会自动产生任何信息类型的消息,但是你可能会在你的程序里使用它

注意: 确保"logs" 文件夹是可写的,才能准确地将消息写入记录文件中。另外,你必须要设置记录的“threshold“来进行记录。例如通过设置“threshold“,你可以只记录错误类型的消息,而不用记录其他两种。如果你将“threshold“设为0,记录就会被禁止。

汽车诊断服务(UDS——0x11服务解析) ECU复位服务(0x11)详解:该服务支持硬件/钥匙开关/软件三种复位类型(0x01-0x03),复位前需发送肯定响应。请求格式为11+子功能,响应含51+子功能。典型应用需配合安全访问流程,测试时需监控CAN总线通信及DTC状态。复位后ECU将返回默认会话,期间不处理任何诊断请求。服务在编程会话且安全解锁后执行,硬复位会初始化存储数据。 阅读详情

相关推荐

三菱PLC FX3U温度控制系统案例

U0\G100是平均次数的设置,设置为100个数据取平均,这样数据显示更加稳定,通道1的数据显示再U0\G10里面,温度模块的数据对应是0~150°输出0~10V,对应到0~10000的数据10000是150°的66.667倍,因此把数据传送到D0后转换成浮点数,再去除以66.667,就得到实际的温度了,数据存放到D2。触摸屏软件使用EBpro软件,设计界面如下,右边的是温度的实时曲线图,左边的是温度报警表,当当前温度超过了报警温度这种时,就会在这个表格上显示对应对应的报警。(1)实时显示温度值;

u010670857的博客 4058

Codeigniter 无法记录终止性错误和异常解决办法并写入log日志

提醒: 这里讨论的终止性错误指导致php执行失败的错误,例如E_Error,像E_NOTICE、E_WARNING这样的报错Codeigniter框架本身可以完美的捕获,因此不在讨论范围内。 本文主要要说的是, 一些程序上的问题导致程序出现500错误,并捕获错误,记录到log日志中,如下图包含语法错误,和数据库连接导致的500程序中断错误,方便我们查找问题并解决 Codeigni...

菜鸟学习成功之路 1070

RT-Thread网络编程:基于STM32F407的TCP客户端实现(含完整代码解析)

本文详细介绍了在STM32F407平台上,基于RT-Thread操作系统和LWIP协议栈实现工业级可靠TCP客户端的完整过程。内容涵盖底层ETH驱动配置、Socket编程、连接保活与断线重连机制、数据收发协议设计以及资源管理,提供了可应用于实际项目的健壮代码框架与调试技巧。

weixin_29184371的博客 491

Codeigniter页面URL带有冒号后不能识别路由 以及 异步图片上传时 Uncaught SyntaxError: Unexpected token 错误

最近在使用codeigniter开发一个网站时,发现偶尔有些列表页面会直接跳转至首页,觉得很奇怪。排查应用级的问题,未发现任何问题,就是当访问这些有问题的URI时,页面会直接访问首页,而根本不是经过目标页面跳转过去的。于是直接推断是codeigniter核心根本未识别这个URL。

本博客记录了从2014年以来在工作学习中遇到的技术问题、解决方法以及部分个人人生经历、经验等内容。 434

Unity热更实战:用YooAsset+HybridCLR实现小游戏资源与代码双更新(含避坑清单)

本文详细介绍了Unity小游戏开发中如何通过YooAsset与HybridCLR实现资源与代码双热更新方案。内容涵盖环境配置、架构设计、微信小游戏专项优化、热更代码工程化实践及真机调试技巧,帮助开发者解决审核周期长、紧急修复等痛点,提升更新效率与稳定性。

weixin_42520025的博客 501

LVGL字体优化实战:如何将中文字库放到外部SPI Flash并动态加载(节省内部RAM)

本文详细介绍了LVGL在嵌入式UI开发中如何通过外部SPI Flash存储中文字库并动态加载,以节省内部RAM资源。通过对比不同存储介质和字库格式,提供多种实现方案及性能优化技巧,帮助开发者在资源受限设备上实现高效的中文显示。

weixin_28693683的博客 342

CodeIgniter 打开错误日志

默认0不输出log,4等级最高。CI CodeIgniter错误日志

fareast_mzh的博客 608

遗传算法详解 附python代码实现

遗传算法 遗传算法是用于解决最优化问题的一种搜索算法。从名字来看,遗传算法借用了生物学里达尔文的进化理论:”适者生存,不适者淘汰“,将该理论以算法的形式表现出来就是遗传算法的过程。 问题引入 上面提到遗传算法是用来解决最优化问题的,下面我将以求二元函数: def F(x, y): return 3*(1-x)**2*np.exp(-(x**2)-(y+1)**2)- 10*(x/5 - x**3......

ha_ha_ha233的博客 22万+

codeigniter error处理

CodeIgniter 的错误处理 1.CI在引导文件index.php中设置了“执行环境常量 EVIROMENT”,在值为“development”打开php的全部报错。 2.在Common文件中,CI载入了Exception类,该类可以让用户使用show_error等函数主动输出错误。 3.在Common文件,CI定义了_exception_handler来自行处理php

程序员写的技术 FAQ 和杂文 2269

5分钟搞懂SCMA:稀疏码多址接入的核心原理与实战应用

本文深入浅出地解析了SCMA(稀疏码多址接入)的核心原理与实战应用。通过对比传统正交多址技术,阐释了SCMA如何通过非正交叠加和稀疏码本设计,实现远超资源单元数的用户接入,从而有效应对5G海量机器通信(mMTC)的挑战。文章还探讨了其在上行海量连接、免授权接入等场景的应用潜力及工程实现中的关键考量。

zeta9的博客 264

高并发网络爬虫实践(欧赔、亚盘、大小指数数据爬取)

本文通过对一个实战化的高并发网络爬虫脚本进行深度模块化剖析,展示了如何构建一个兼具性能、健壮性和易用性的数据采集工具。核心设计思想总结模块化与单一职责: 每个函数都专注于解决一个特定问题,无论是网络请求、数据解析还是文件操作。并发与效率: 通过ThreadPoolExecutor实现了高效的并发抓取,极大缩短了总耗时。健壮性与容错: 强大的重试机制、细致的异常处理和线程安全的文件写入,保证了程序在复杂网络环境下的稳定运行。断点续传: 精心设计了进度记录与恢复机制,使得大规模抓取任务变得轻松可控。

猫敷雪 479

CodeIgniter4 错误处理机制深度解析

在Web应用开发中,错误处理是保障系统稳定性和用户体验的关键环节。CodeIgniter4作为现代化的PHP框架,提供了一套完整且强大的错误处理机制,能够帮助开发者优雅地处理各种运行时异常、错误和故障情况。 通过本文,你将全面掌握: - CodeIgniter4异常体系的核心架构 - 自定义异常处理的最佳实践 - 生产环境与开发环境的错误处理策略 - 调试工具与错误日志的高效利用 ## 异常体...

gitblog_01197的博客 479

【从零开始学习SLAM】官方tf教程小海龟跟随程序

ros tf 进行坐标系之间转换的运算和发布

小秋 AI SLAM 入门实战教程 2033

CodeIgniter(CI3) 错误处理

错误处理 在你的程序里使用以下的函数,CodeIgniter将允许你建立自己的错误报告。另外,他有一个错误记录类能够将错误和调试信息保存为文本文档。 注意: 在默认的情况下, CodeIgniter 会显示所有的PHP错误. 但是当你开发程序结束时,你可能想要改变这个情况. 你会发现在index.php文件顶端有这个函数error_reporting(),通过它可以进行对错误的设置。 即使你关闭...

ppxin的专栏 1010

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

CodeIgniter 的错误处理札记

1.CI在引导文件index.php中设置了“执行环境常量 EVIROMENT”,在值为“development”打开php的全部报错。 2.在Common文件中,CI载入了Exception类,该类可以让用户使用show_error等函数主动输出错误。 3.在Common文件,CI定义了_exception_handler来自行处理php错误。 4.在Exceptions.php中,CI还...

weixin_30325071的博客 144

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

CodeIgniter RestServer错误处理与状态码:构建健壮API的终极指南

在构建现代Web应用时,RESTful API已经成为数据交换的标准方式。CodeIgniter RestServer作为一个功能强大的RESTful服务器实现,为开发者提供了完整的API构建解决方案。本文将深入探讨如何使用CodeIgniter RestServer的错误处理和状态码机制,打造出健壮、可靠的API服务。🚀 ## 为什么API错误处理如此重要? **API错误处理**是确保应

gitblog_01009的博客 450

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[CodeIgniter4]-错误处理

错误处理 CodeIgniter 通过SPL collection和一些框架内自定义异常来生成系统错误报告。错误处理的行为取决于你部署环境的设置,当一个错误或异常被抛出时,只要应用不是在production环境下运行,就会默认展示出详细的错误报告。在这种情况下,应为用户显示一个更为通用的信息来保证最佳的用户体验。 使用异常处理 配置 自定义异常 PageNotFoundEx...

浩秦的博客 915

Php框架CodeIgniter 学习

主流框架 1、Laravel Laravel是一款免费并且开源的PHP应用框架,它是为开发基于MVC的WEB应用而设计的,个人觉得,Laravel是很棒的PHP框架了,它可以帮助你创建一些很酷的WEB应用,而且可以轻松地使用权限验证、URL路由、Session以及缓存等功能。 官方网站:http://laravel.com/ 2、Phalcon Phalcon是运行速度最快的一个PHP框架,它的底层是用C实现的,但是上层提供一些PHP扩展,Phalcon作为一款PHP框架以高性能和低消耗著称。尽管

TyearLin的专栏 1069

php优秀框架codeigniter学习系列——异常和错误处理机制

  这篇介绍下CI框架的异常和错误处理机制。   在入口文件index.php中,根据设置的环境参数设置error_reporting的范围,和是否显示错误。   在CI初始化程序CodeIgniter.php中,设置自定义的错误处理方法,自定义的异常处理方法,自定义的php中止处理方法。 1 set_error_handler('_error_handler')...

angmiehuo9436的博客 763

php优秀框架codeigniter学习系列——CodeIgniter.php概览

  CodeIgniter.php是CI框架的核心文件。它在前端控制器index.php之后运行,加载各类基础组件,执行请求。文件执行完成后,这次请求也就结束了。所以,该文只能对CodeIgniter.php做一个大致的讲解,中间如果遇到重要部分,会新写一篇日志单独详细讲解。   CI框架的注释非常的详细和规范。官方对这个文件的解释就是System Initialization Fi...

angmiehuo9436的博客 341

CodeIgniter源码分析之CodeIgniter.php

CodeIgniter源码分析之CodeIgniter.php   /**  * 上面:  * 这个BASEPATH,就是在入口文件(index.php)里面定义的那个BASEPATH~  * 如果没有定义BASEPATH,那么直接退出,下面程序都不执行。其实除了入口文件index.php开头没有这句话之外,所有文件都会有这句话  * 也就是说,所有文件都不能单独运行,一

程序员写的技术 FAQ 和杂文 1647

codeigniter_CodeIgniter的功能和优点列表

codeigniter ​Any web applications developed based on CodeIgniter framework perform effectively and rapidly. It helps the programmers to build dynamic and custo...

cunchi8090的博客 524

CodeIgniter Payments: 一个简单易用的支付库

CodeIgniter Payments: 一个简单易用的支付库 如果你正在寻找一个易于集成、功能强大的支付库,CodeIgniter Payments可能正是你需要的解决方案。它是一个专门为CodeIgniter框架设计的支付库,旨在帮助开发者快速地在他们的应用中添加支付功能。 项目简介 是由Calvin Froedge开发的一个轻量级库,支持多种流行的支付网关。该项目的目标是提供一个简洁、一致...

gitblog_00009的博客 415

codeigniter源代码分析 - 错误处理类 Exception.php

剩下的class 都比较简单但是作用很大 框架必不可少的gon部分

fanyilong的专栏 1184

ci 控制器 调用 common.php,[后端]定制CodeIgniter-自定义控制器与错误处理

前言使用现有的codeigniter还不能很好地满足我们业务的需求,比如在做一个API服务器的时候,一些权限验证,格式输出的事情都比较难完成,如果都单独写在各个controller里的话就显得冗余不可维护。所以我们要对Codeigniter进行一些特殊的定制。自定义控制器原本的CI_controller是所有controller的父类,其功能是简单的。我们还希望对于controller以及每个调用...

weixin_42511053的博客 294

codeigniter源代码分析之CI系统运行流程 CodeIgniter.php

CodeIgniter.php 是过程的,主要描述的是CI整个处理流程 加载class 调用class的method 以及等等 带注释源码如下 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); define('CI_VERSION', '2.1.4'); //版本 define('CI_CO

fanyilong的专栏 2173
上一篇: codeIgniter框架基本结构
下一篇: 20个PHP常用类库
SleepInDelphi
博客等级 码龄19年 32粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值