iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中Exception异常机制的示例分析
  • 363
分享到

PHP中Exception异常机制的示例分析

2023-06-20 13:06:06 363人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关PHP中Exception异常机制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。异常的基本使用当异常被抛出时,其后的代码不会继续执行,php 会尝试查找匹配的 &qu

这篇文章将为大家详细讲解有关PHP中Exception异常机制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

异常的基本使用

当异常被抛出时,其后的代码不会继续执行,php 会尝试查找匹配的 "catch" 代码块。
如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息。
让我们尝试抛出一个异常,同时不去捕获它:

<?php//create function with an exceptionfunction checkNum($number) { if($number>1)  {  throw new Exception("Value must be 1 or below");  } return true; } //trigger exceptioncheckNum(2);?>

上面的代码会获得类似这样的一个错误:

PHP Fatal error:  Uncaught exception 'Exception' with message 'Value must be 1 or below' in /home/wangkongming/babytree/test/php/php_ob/3.php:7Stack trace:#0 /home/wangkongming/babytree/test/php/php_ob/3.php(12): checkNum(2)#1 {main}  thrown in /home/wangkongming/babytree/test/php/php_ob/3.php on line 7

Try, throw 和 catch

要避免上面例子出现的错误,我们需要创建适当的代码来处理异常。
正确的处理程序应当包括:
Try - 使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
Throw - 这里规定如何触发异常。每一个 "throw" 必须对应至少一个 "catch"
Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象
让我们触发一个异常:

<?php//create function with an exceptionfunction checkNum($number) {    if($number>1)  {        throw new Exception("Value must be 1 or below");  }   return true; }        //trigger exception                                                                                                       try{    checkNum(2);    echo "If you see this ,the number is 1 or below";}catch(Exception $e) {    echo 'Message: '.$e -> getMessage();}?>

运行上面的代码:

Message: Value must be 1 or below

例子解释:

上面的代码抛出了一个异常,并捕获了它:
创建 checkNum() 函数。它检测数字是否大于 1。如果是,则抛出一个异常。
在 "try" 代码块中调用 checkNum() 函数。
checkNum() 函数中的异常被抛出
"catch" 代码块接收到该异常,并创建一个包含异常信息的对象 ($e)。
通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息
不过,为了遵循“每个 throw 必须对应一个 catch”的原则,可以设置一个顶层的异常处理器来处理漏掉的错误。

关于“PHP中Exception异常机制的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: PHP中Exception异常机制的示例分析

本文链接: https://www.lsjlt.com/news/297093.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP中Exception异常机制的示例分析
    这篇文章将为大家详细讲解有关PHP中Exception异常机制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。异常的基本使用当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 &qu...
    99+
    2023-06-20
  • 解析PHP中Exception异常机制
    异常的基本使用 当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块。 如果异常没有被捕获,而且又没用使用 set_exception_handl...
    99+
    2024-04-02
  • Python中异常机制的示例分析
    小编给大家分享一下Python中异常机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、对异常的理解1、什么是异常  异常即“与正常情况不同”,何为正...
    99+
    2023-06-08
  • Java中异常处理机制的示例分析
    这篇文章给大家分享的是有关Java中异常处理机制的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能...
    99+
    2023-06-03
  • Golang中异常处理机制的示例分析
    小编给大家分享一下Golang中异常处理机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言通常我们需要编写好的错误处理方式,在了避免某些程序员滥用异...
    99+
    2023-06-15
  • Java异常处理机制的示例分析
    这篇文章给大家分享的是有关Java异常处理机制的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.初识异常我们在写代码的时候都或多或少碰到了大大小小的异常,例如:public class&nbs...
    99+
    2023-06-26
  • Python异常处理机制的示例分析
    这篇文章将为大家详细讲解有关Python异常处理机制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是异常?def num(a, b):   ...
    99+
    2023-06-22
  • Java异常处理操作Throwable、Exception、Error的示例分析
    这篇文章主要介绍了Java异常处理操作Throwable、Exception、Error的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。异常是一个事件,它发生在程序运...
    99+
    2023-06-15
  • Java中Exception异常机制的原理
    本篇文章给大家分享的是有关Java中Exception异常机制的原理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Error与Exception的区别与相同点:Error是严重...
    99+
    2023-06-15
  • Java中try-catch-finally异常处理机制的示例分析
    小编给大家分享一下Java中try-catch-finally异常处理机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、异常处理异常(Excepti...
    99+
    2023-06-20
  • C语言异常处理机制的示例分析
    这篇文章将为大家详细讲解有关C语言异常处理机制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。异常处理机制:setjmp()函数与longjmp()函数  C标准库提供两个特殊的函数:setjmp...
    99+
    2023-06-20
  • c++中异常的示例分析
    这篇文章主要介绍了c++中异常的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、什么是异常处理一句话:异常处理就是处理程序中的错误。二、为什么需要异常处理,异常处理...
    99+
    2023-06-15
  • 详解Java的Exception异常机制
    目录一、前言二、关于RuntimeException三、异常的避免四、异常的捕获五、异常的抛出(异常的转移)六、自定义异常一、前言 在Java中,我们在执行代码的过程中难免会遇到错误...
    99+
    2024-04-02
  • PHP中反射机制的示例分析
    小编给大家分享一下PHP中反射机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHP的反射机制提供了一套反射API,用来访问和使用类、方法、属性、参数...
    99+
    2023-06-15
  • Spring Cloud Gateway自定义异常处理Exception Handler的示例分析
    这篇文章给大家分享的是有关Spring Cloud Gateway自定义异常处理Exception Handler的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法1: ErrorWebExceptio...
    99+
    2023-06-20
  • PHP7中使用set_error_handler和set_exception_handler处理异常机制的示例分析
    这篇文章给大家分享的是有关PHP7中使用set_error_handler和set_exception_handler处理异常机制的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。由于历史原因,php一开始...
    99+
    2023-06-15
  • Java异常处理机制实例分析
    这篇文章主要介绍“Java异常处理机制实例分析”,在日常操作中,相信很多人在Java异常处理机制实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java异常处理机制实例分析”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-29
  • SpringMVC异常处理机制与自定义异常处理方式的示例分析
    这篇文章主要介绍SpringMVC异常处理机制与自定义异常处理方式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!提到异常处理,就不得不提HandlerExceptionResolvers,我们的Dispat...
    99+
    2023-06-25
  • React16中异常处理的示例分析
    这篇文章主要介绍React16中异常处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异常处理在 React 15.x 及之前的版本中,组件内的异常有可能会影响到 Reac...
    99+
    2024-04-02
  • java异常处理机制原理和应用的示例分析
    这篇文章主要介绍了java异常处理机制原理和应用的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Java异常简介大家对trycatch可能并不陌生,也都使用的非常...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作