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`、`ErrorException`、`TypeError`等,分别用于处理不同类型的错误情况。除了使用这些内置的异常类之外,开发者还可以根据自己的需求定义自定义的异常类。例如: ```php class ...
PHP 5引入了对异常处理的支持,核心类`Exception`是所有自定义异常类的基类。 在PHP中,当遇到不可预见的情况或者需要报告错误时,可以通过`throw`关键字抛出一个异常。例如,上述代码中展示了如何创建一个简单的`...
在“Laravel开发-laravel-exception-email-notification”项目中,我们关注的是如何配置和使用Laravel来发送电子邮件通知,特别是在检测到mailable、job queue和emailEventHandler异常时。 首先,我们需要理解...
error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多 java中的Object继承结构如下: Object—->Throwable——–> Exception —-> RuntimeException | Error Error都是unchecked...
- 配置文件(如`config/exception-logger.php`)可能会提供定制选项,如设置默认的日志级别,或者添加自定义的日志处理器。 5. **测试和调试**: - 开发者应确保在测试环境中正确地触发并记录异常,以验证日志...
《xser_exception_handler:PHP框架中的自定义异常处理机制解析》 在PHP开发过程中,异常处理是不可或缺的一部分,它能够帮助我们优雅地处理程序运行时出现的问题,避免程序崩溃并提供有用的错误信息。"xser_...
说完 Logic/Runtime Exception 的区别,我们在看看其他 SPL 提供的 Exception 的意义:Bad(Method/Function
极好的 PHP的更好的例外Exceptional旨在提供一种从根本上增强的Exception框架,该框架将Exception的含义与基础实现功能分离开来。异常异常可用于极大地简化代码中生成和引发错误的方式,尤其是在编写共享库时。将...
在PHP编程中,连接到MySQL数据库是常见的任务,但过程中可能会遇到一些问题。本文将针对“Class ‘mysqli’ not found”和“mysqli::__construct(): (HY000/2002)”这两个错误提供解决方案。 ### 问题一:Class '...
} catch (Exception $e) { echo '错误:', $e->getMessage(); } ``` 此外,PHP 8的类型提示更加严格,可能会导致类型不匹配的错误。检查所有与PHPExcel交互的函数和方法,确保传入正确的数据类型。例如,`...
`Exception`类是PHP内置的异常处理机制,它提供了一种标准的方式来捕获和处理运行时出现的错误。本项目"php代码-exception测试"旨在深入理解并实践PHP中的异常处理。 首先,`main.php`文件很可能是整个程序的核心...
use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $mail = new PHPMailer(true); try { // SMTP设置 $mail->isSMTP(); $mail->Host = 'smtp.example.com'; // 替换为你的SMTP服务器 $...
《深入理解getID3:PHP音频信息提取利器》 在PHP开发中,处理音频文件时,获取音频元数据是一项常见的需求,比如音乐的时长、比特率、采样率等信息。`getID3`是一个强大的PHP库,专为解析音频文件的元数据而设计,...
本文将深入解析PHP的异常处理机制,并参考提供的源码文件(exception01.php到exception07.php)来举例说明。 首先,我们需要了解PHP中的`try-catch`结构。这是处理异常的基本方式。当我们在`try`块中编写可能会抛出...
关于PHPMailer 5.1的源码,它包含了许多类和方法,例如`PHPMailer`、`Exception`、`SMTP`等,这些源码可以帮助开发者深入理解其工作原理并进行自定义扩展。如果你遇到问题,可以查看`Exception`类的错误信息,以便更...
require 'PHPMailer/Exception.php'; $mail = new PHPMailer\PHPMailer\PHPMailer(); $mail->isSMTP(); ``` 3. **配置SMTP连接**:填写QQ邮箱的SMTP服务器信息。 ```php $mail->Host = 'smtp.qq.com'; // QQ邮箱...
这通常涉及到扩展PHP的Exception类来创建一个新的类,这样我们可以在自定义的异常类中添加自己的方法和属性。这样做的好处是能够提供更详细的错误信息,或者实现特定的异常处理逻辑。 例如,我们定义一个名为...
require 'path/to/PHPMailer/src/Exception.php'; ``` 接下来,实例化PHPMailer对象并设置必要的参数,如发件人、收件人、主题和邮件内容: ```php $mail = new PHPMailer(true); try { // 设置SMTP配置 ...