首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError对InvalidArgumentException?

TypeError对InvalidArgumentException?
EN

Stack Overflow用户
提问于 2017-05-24 04:39:44
回答 3查看 3.2K关注 0票数 8

PHP7中的TypeError和InvalidArgumentException有什么区别?

何时抛出TypeError,何时抛出InvalidArgumentException?

在PHP 7中,这个错误似乎越来越像一个异常。

划分错误和异常的边框是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-24 04:47:21

TypeError是指在以下情况下发生的情况:

  1. 传递给函数的参数类型与其相应的声明参数类型不匹配。
  2. 返回类型与声明的函数返回类型不匹配。
  3. 将无效的参数数传递给内置的PHP函数。

如果参数不是预期类型,则InvalidArgumentException是引发的异常。

错误不能在运行时处理,但异常可以在运行时处理。

票数 0
EN

Stack Overflow用户

发布于 2019-03-31 11:05:23

当函数的参数类型或返回值与预期类型不匹配时(例如,如果一个函数需要一个TypeError,但您传递/返回了int ),就会发生int

如果参数与预期值不匹配,则可以使用InvalidArgumentException抛出错误,例如,如果希望参数仅在范围1至10中具有值,但调用方传递值11,则可以抛出此异常。

票数 12
EN

Stack Overflow用户

发布于 2017-05-24 04:48:06

InvalidArgumentException (来源:http://php.net/manual/en/class.invalidargumentexception.php)

如果参数不是预期类型的,则引发异常。

示例(来源:http://php.net/manual/en/class.invalidargumentexception.php)

函数tripleInteger( $int ) { if(!is_int($int))抛出新的InvalidArgumentException('tripleInteger函数只接受整数。输入是:'.$int);返回$int* 3;}

TypeError (来源:http://php.net/manual/en/class.typeerror.php)

有三种可能抛出TypeError的场景。第一种情况是,传递给函数的参数类型与其相应的声明参数类型不匹配。第二种情况是,从函数返回的值与声明的函数返回类型不匹配。第三种情况是将无效数量的参数传递给内置PHP函数(仅限严格模式)。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44149106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档