找到 34423 篇文章 关于编程

PHP 命名空间关键字和 __NAMESPACE__ 常量

Malhar Lathkar
更新于 2020年9月18日 09:19:17

342 次浏览

简介在 PHP 中,命名空间关键字用于定义命名空间。它也用作运算符来请求访问当前命名空间中的特定元素。__NAMESPACE__ 常量返回当前命名空间的名称。__NAMESPACE__ 常量在命名的命名空间中,__NAMESPACE__ 返回其名称;对于全局和未命名的命名空间,它返回空字符串。示例 在线演示#test1.php 输出返回空字符串全局命名空间的名称:对于命名命名空间,返回其名称。示例 在线演示输出当前命名空间的名称:myspace动态名称构造__NAMESPACE__ 可用于动态构造名称。示例 在线演示

PHP 生成器。

Malhar Lathkar
更新于 2020年9月18日 09:15:49

3K+ 次浏览

简介使用 foreach 等循环结构遍历大型数据集需要大量的内存和相当大的处理时间。使用生成器,可以迭代数据集而无需这些开销。生成器函数类似于普通函数。但是,函数中不使用 return 语句,生成器使用 yield 关键字重复执行,以便提供要迭代的值。yield 关键字是生成器机制的核心。尽管它的用法看起来类似于 return,但它不会停止函数的执行。它提供下一个迭代值并暂停... 阅读更多

PHP 生成器与迭代器对象

Malhar Lathkar
更新于 2020年9月18日 09:12:48

477 次浏览

简介调用生成器函数时,内部会返回一个新的 Generator 类对象。它实现了 Iterator 接口。迭代器接口定义了以下抽象方法Iterator::current — 返回当前元素Iterator::key — 返回当前元素的键Iterator::next — 移动到下一个元素Iterator::rewind — 将迭代器倒回第一个元素Iterator::valid — 检查当前位置是否有效生成器充当仅向前迭代器对象的作用,并提供可用于操作生成器状态的方法,包括向其发送值和从中返回值。生成器作为迭代器在下面的示例中,生成器函数生成文件中的行... 阅读更多

PHP 抛出异常

Malhar Lathkar
更新于 2020年9月18日 09:10:58

281 次浏览

简介Throwable 接口由 Error 和 Exception 类实现。所有预定义的 Error 类都继承自 Error 类。相应的 Error 类的实例在 try 块内抛出并在相应的 catch 块内处理。抛出错误正常的执行(当 try 块内没有抛出异常时)将在定义的最后一个 catch 块之后继续。示例 在线演示输出显示以下输出2 捕获异常:除以零。执行继续在下面的示例中,由于未向其传递适当的参数,因此在执行函数时会抛出 TypeError。显示相应的错误消息。示例 在线演示输出显示以下输出传递给 add() 的参数 2 必须是... 阅读更多

PHP 嵌套异常

Malhar Lathkar
更新于 2020年9月18日 09:04:43

518 次浏览

简介try-catch 块可以嵌套到任何所需的级别。异常将按出现的反向顺序处理,即首先进行最内层异常处理。示例在下面的示例中,内部 try 块检查两个变量中的任何一个是否是非数字的,如果是,则抛出一个用户定义的异常。如果分母为 0,则外部 try 块抛出 DivisionByZeroError。否则,将显示两个数字的除法结果。示例 在线演示输出显示以下输出除以 0,第 19 行将任何一个变量更改为非数字值错误:第 20 行中的非数字数据如果两个变量都是数字,则打印它们的除法结果

PHP 使用多个 catch 块进行异常处理

Malhar Lathkar
更新于 2020年9月18日 09:00:52

1K+ 次浏览

简介PHP 允许在 try 块之后使用一系列 catch 块来处理不同的异常情况。可以使用各种 catch 块来处理预定义的异常和错误以及用户定义的异常。示例下面的示例使用 catch 块来处理 DivisioByZeroError、TypeError、ArgumentCountError 和 InvalidArgumentException 条件。还有一个 catch 块用于处理常规异常。示例 在线演示输出首先,由于分母为 0,因此将显示“除以 0”错误除以 0设置 $b=3 将导致 TypeError,因为 divide 函数预期返回整数,但除法结果为浮点数divide() 的返回值必须是整数类型,浮点数... 阅读更多

PHP7 中的 PHP 错误

Malhar Lathkar
更新于 2020年9月18日 08:57:16

301 次浏览

简介在 7 版之前,PHP 解析器用于响应各种条件报告错误。每个错误都具有一定的预定义类型。PHP7 改变了错误报告机制。现在,大多数错误都是通过抛出错误异常来报告的,而不是传统的错误报告。如果错误异常未处理,则会报告致命错误,并将像传统的错误条件一样处理。PHP 的错误层次结构从 Throwable 接口开始。所有预定义的错误,例如 ArithmeticError、AssertionError、CompileError 和 TypeError,都是实现 Throwable 接口的类。PHP 7 中的异常也实现了 Throwable 接口。Throwable 接口充当... 阅读更多

PHP finally 和 return 之间的交互

Malhar Lathkar
更新于 2020年9月18日 08:47:10

1K+ 次浏览

简介当 try 块或 catch 块(或两者)包含 return 语句时,finally 块有一种特殊的行为。通常,return 语句会导致程序控制返回到调用位置。但是,对于具有 try/catch 块和 return 的函数,finally 块中的语句会在返回之前首先执行。示例在下面的示例中,div() 函数具有 try-catch-finally 结构。try 块没有异常会返回除法的结果。如果发生异常,catch 块会返回错误消息。但是,在这两种情况下,finally 块中的语句都会首先执行。示例 在线演示输出显示以下输出此块... 阅读更多

PHP 使用 finally 进行异常处理

Malhar Lathkar
更新于 2020年9月18日 08:45:23

403 次浏览

简介finally 块中的代码将始终执行,无论 try 块中是否有异常。此块出现在 catch 块之后或代替 catch 块。catch 和 finally 块在下面的示例中,同时提供了 catch 和 finally 块。如果 try 块中发生异常,则执行两者的代码。如果没有异常,则只执行 finally 块。示例 在线演示输出显示以下输出捕获异常:除以零。此块始终执行执行继续更改 try 块中的语句,以便不发生异常示例 在线演示输出显示以下输出2 此块始终执行执行继续仅 finally 块以下... 阅读更多

PHP 扩展异常

Malhar Lathkar
更新于 2020年9月18日 08:42:05

805 次浏览

简介Exception 类实现 Throwable 接口,并且是所有 Exception 类(预定义异常和用户定义异常)的基类。Exception 类定义了一些最终(不可重写)方法来实现来自 Throwable 接口的方法,以及 __tostring() 方法,该方法可以被重写以返回 Exception 对象的字符串表示形式。final public function getMessage()异常消息final public function getCode()异常代码final public function getFile()源文件名final public function getLine()源行final public function getTrace()回溯() 的数组final public function getPrevious()之前的异常final public function getTraceAsString()格式化的跟踪字符串public function __toString()用于显示的格式化字符串如果用户定义的异常类重新定义了构造函数,则应调用 parent::__construct() 以确保... 阅读更多

广告
© . All rights reserved.