`
lanlansnss
  • 浏览: 45317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php Exception

    博客分类:
  • php
 
阅读更多
Class Exceptions extends Exception
{
	/**
	* 异常日志存储文件夹
	* @public string
	*/
	//public $_Dir = '';
	public $_Dir = LOG_DIR;

	/**
	* 异常日志文件命名规则
	* @public string
	* 可设置包含date函数的动态名字,如 'Exception_'.date('m-d').'.log'
	*/
	//public $_Filename = 'Error.log';
	public $_Filename = LOG_FILENAME;

	public function __construct($_Message=0, $_Code=0)
	{
		parent::__construct($_Message, $_Code);
	}

	public function __toString()
	{
		return date('[m-d-Y  H:i:s]')." [{$this->code}] {$this->message} IN {$this->file} on LINE {$this->line} - {$_SERVER['REQUEST_URI']}";
	}

	public function Log()
	{
		error_log($this->__toString()."\r\n", 3, $this->_Dir.$this->_Filename);
		return $this;
	}

	public function View()
	{
		$_Code= "<html>\n<head>\n<title>错误</title>\n</head>\n<body>\n<div style='color:#ea0000;font-size:22px;font-weight:bold;'>%s 错误</div>\n".
			"<hr><div style='color:#666;font-size:16px;background:#f6f6f6;padding:8px;line-height:25px'>\n".
			"在访问 %s 时发生错误,错误信息如下:\n".
			"<div style='font-size:14px;'>\n<li>文件: %s<br>\n<li>行数: %s<br>\n<li>错误代码: %1\$s<br>\n<li>错误信息: %s<br>\n".
			"<li>发生时间: %s<br>\n</div>\n</div>\n</body>\n</html>";
		echo sprintf($_Code, $this->code, $_SERVER['REQUEST_URI'], $this->file, $this->line, $this->message, date('Y-m-d  H:i:s'));
		return $this;
	}
}
分享到:
评论

相关推荐

    PHP Exception(异常处理).md

    PHP内置了多种异常类,如`Exception`、`ErrorException`、`TypeError`等,分别用于处理不同类型的错误情况。除了使用这些内置的异常类之外,开发者还可以根据自己的需求定义自定义的异常类。例如: ```php class ...

    PHP的异常处理类Exception的使用及说明

    PHP 5引入了对异常处理的支持,核心类`Exception`是所有自定义异常类的基类。 在PHP中,当遇到不可预见的情况或者需要报告错误时,可以通过`throw`关键字抛出一个异常。例如,上述代码中展示了如何创建一个简单的`...

    Laravel开发-laravel-exception-email-notification

    在“Laravel开发-laravel-exception-email-notification”项目中,我们关注的是如何配置和使用Laravel来发送电子邮件通知,特别是在检测到mailable、job queue和emailEventHandler异常时。 首先,我们需要理解...

    php中error与exception的区别及应用

    error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多 java中的Object继承结构如下: Object—-&gt;Throwable——–&gt; Exception —-&gt; RuntimeException | Error Error都是unchecked...

    Laravel开发-laravel-exception-logger

    - 配置文件(如`config/exception-logger.php`)可能会提供定制选项,如设置默认的日志级别,或者添加自定义的日志处理器。 5. **测试和调试**: - 开发者应确保在测试环境中正确地触发并记录异常,以验证日志...

    xser_exception_handler -- xser php fr v0.1 自定义捕获异常信息

    《xser_exception_handler:PHP框架中的自定义异常处理机制解析》 在PHP开发过程中,异常处理是不可或缺的一部分,它能够帮助我们优雅地处理程序运行时出现的问题,避免程序崩溃并提供有用的错误信息。"xser_...

    guanguans#notes#PHP的SPL-Exception1

    说完 Logic/Runtime Exception 的区别,我们在看看其他 SPL 提供的 Exception 的意义:Bad(Method/Function

    exceptional:PHP的更好的例外

    极好的 PHP的更好的例外Exceptional旨在提供一种从根本上增强的Exception框架,该框架将Exception的含义与基础实现功能分离开来。异常异常可用于极大地简化代码中生成和引发错误的方式,尤其是在编写共享库时。将...

    PHP连接数据库时遇到的两个错误的解决方案

    在PHP编程中,连接到MySQL数据库是常见的任务,但过程中可能会遇到一些问题。本文将针对“Class ‘mysqli’ not found”和“mysqli::__construct(): (HY000/2002)”这两个错误提供解决方案。 ### 问题一:Class '...

    php 8 下 phpexcel 报错处理

    } catch (Exception $e) { echo '错误:', $e-&gt;getMessage(); } ``` 此外,PHP 8的类型提示更加严格,可能会导致类型不匹配的错误。检查所有与PHPExcel交互的函数和方法,确保传入正确的数据类型。例如,`...

    php代码-exception测试

    `Exception`类是PHP内置的异常处理机制,它提供了一种标准的方式来捕获和处理运行时出现的错误。本项目"php代码-exception测试"旨在深入理解并实践PHP中的异常处理。 首先,`main.php`文件很可能是整个程序的核心...

    PHPMailer php发邮件

    use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $mail = new PHPMailer(true); try { // SMTP设置 $mail-&gt;isSMTP(); $mail-&gt;Host = 'smtp.example.com'; // 替换为你的SMTP服务器 $...

    getID3 (php)

    《深入理解getID3:PHP音频信息提取利器》 在PHP开发中,处理音频文件时,获取音频元数据是一项常见的需求,比如音乐的时长、比特率、采样率等信息。`getID3`是一个强大的PHP库,专为解析音频文件的元数据而设计,...

    详细解读php的异常处理机制-参考源码

    本文将深入解析PHP的异常处理机制,并参考提供的源码文件(exception01.php到exception07.php)来举例说明。 首先,我们需要了解PHP中的`try-catch`结构。这是处理异常的基本方式。当我们在`try`块中编写可能会抛出...

    PHP发送邮件_PHPMailer5.1源码和说明

    关于PHPMailer 5.1的源码,它包含了许多类和方法,例如`PHPMailer`、`Exception`、`SMTP`等,这些源码可以帮助开发者深入理解其工作原理并进行自定义扩展。如果你遇到问题,可以查看`Exception`类的错误信息,以便更...

    PHP发送邮箱验证码

    require 'PHPMailer/Exception.php'; $mail = new PHPMailer\PHPMailer\PHPMailer(); $mail-&gt;isSMTP(); ``` 3. **配置SMTP连接**:填写QQ邮箱的SMTP服务器信息。 ```php $mail-&gt;Host = 'smtp.qq.com'; // QQ邮箱...

    PHP异常处理Exception类

    这通常涉及到扩展PHP的Exception类来创建一个新的类,这样我们可以在自定义的异常类中添加自己的方法和属性。这样做的好处是能够提供更详细的错误信息,或者实现特定的异常处理逻辑。 例如,我们定义一个名为...

    php的超简单的带附件的邮件

    require 'path/to/PHPMailer/src/Exception.php'; ``` 接下来,实例化PHPMailer对象并设置必要的参数,如发件人、收件人、主题和邮件内容: ```php $mail = new PHPMailer(true); try { // 设置SMTP配置 ...

Global site tag (gtag.js) - Google Analytics