php将警告转换为异常

简介: php将警告转换为异常

有许多内置的PHP函数会生成通知或警告,提示您在发生问题时无法关闭,例如parse_ini_file和file_get_contents。一种常见的解决方案是使用@运算符禁止显示并通过error_get_last()函数获取警告信息:

$result = @file_get_contents($url);

if (false === $result) {

   // inspect error_get_last() to find out what went wrong

}

更好的方法是使用set_error_handler:

set_error_handler(function ($severity, $message, $file, $line) {

   throw new \ErrorException($message, $severity, $severity, $file, $line);

});

 

$result = file_get_contents($url);

 

restore_error_handler();

在这种情况下,我们注册我们自己的错误处理程序,该处理程序将每个通知,警告和错误转换为ErrorException,然后可以在其他地方捕获该错误。

但在php7以后官方会逐步统一万物皆异常,例如:

try {

   $result = file_get_contents($url);

} catch (EngineException $e) {

   // do something with $e

}

目录
相关文章
|
4月前
|
程序员 PHP UED
PHP中的错误处理和异常管理
【9月更文挑战第14天】在编程的世界里,错误和异常就像是路上的坑洞和绊脚石。它们总是不期而遇,但如何优雅地绕过或修复它们,是每个程序员的必修课。本文将深入探讨PHP中的错误处理和异常管理机制,带你了解如何捕获、处理这些“不速之客”,并确保你的应用程序能够稳健运行。准备好,让我们一起走进PHP的错误处理世界,学习如何让代码更健壮。
|
3月前
|
PHP 数据库 开发者
PHP中的异常处理和自定义异常
【10月更文挑战第3天】在PHP编程中,异常处理是一个重要的话题。它允许开发者优雅地处理错误,提高代码的可读性和可维护性。本文将介绍如何在PHP中进行异常处理,包括基本的try-catch结构,以及如何创建和使用自定义异常类来处理特定的错误情况。通过实际示例,我们将看到如何使用异常处理机制来增强应用程序的健壮性和灵活性。
35 1
|
4月前
|
PHP 数据安全/隐私保护 UED
PHP中实现自定义错误处理与异常管理
【9月更文挑战第2天】在PHP开发过程中,错误处理和异常管理是保证应用健壮性的关键。本文将引导你了解如何在PHP中创建自定义错误处理器,并通过实际代码示例展示如何有效捕获和处理异常,确保你的应用程序能够优雅地处理运行时出现的问题。
|
5月前
|
PHP 开发者 UED
PHP编程中的错误处理与异常管理
【8月更文挑战第27天】在PHP编程的世界中,错误和异常是开发者常遇到的两大挑战。本文旨在通过浅显易懂的方式,引导读者理解如何在PHP代码中妥善处理错误和异常。我们将从基础的错误处理讲起,逐步深入到异常管理的高级技巧,确保你的代码在遇到问题时能够优雅地处理,而不是崩溃。文章将用实例说明如何捕获、记录和处理这些事件,以保障应用的稳定性和用户体验。
|
程序员 PHP
PHP快速入门12-异常处理,自定义异常、抛出异常、断言异常等示例
PHP的异常处理机制可以帮助我们在程序运行时遇到错误或异常情况时,及时发出警告并停止程序继续运行。下面是10个例子,分别展示了PHP异常处理的不同用法。
251 0
|
数据库连接 PHP C++
PHP的异常机制是怎样的?底层原理是什么?
PHP的异常机制是怎样的?底层原理是什么?
PHP异常getTrace(): 获取异常的跟踪信息。是干什么的?
PHP异常getTrace(): 获取异常的跟踪信息。是干什么的?
512 0
|
程序员 PHP
什么是PHP的异常?为什么会有异常?底层原理是什么?
什么是PHP的异常?为什么会有异常?底层原理是什么?
112 0
|
PHP 数据库
PHP异常处理函数,Thinkphp调试
在thinkphp中,除了异常类携带的简单file、code、message、trace等 还会获取当前服务器的配置、脚本的参数(get/post…)、数据库查询语句等 然后组合成一个有排版、数据充足的页面展示给我们,方便了我们排查问题。
134 0
PHP异常处理函数,Thinkphp调试