PHP7中的TypeError和InvalidArgumentException有什么区别?
何时抛出TypeError,何时抛出InvalidArgumentException?
在PHP 7中,这个错误似乎越来越像一个异常。
划分错误和异常的边框是什么?
发布于 2017-05-24 04:47:21
TypeError是指在以下情况下发生的情况:
如果参数不是预期类型,则InvalidArgumentException是引发的异常。
错误不能在运行时处理,但异常可以在运行时处理。
发布于 2019-03-31 11:05:23
当函数的参数类型或返回值与预期类型不匹配时(例如,如果一个函数需要一个TypeError,但您传递/返回了int ),就会发生int。
如果参数与预期值不匹配,则可以使用InvalidArgumentException抛出错误,例如,如果希望参数仅在范围1至10中具有值,但调用方传递值11,则可以抛出此异常。
发布于 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函数(仅限严格模式)。
https://stackoverflow.com/questions/44149106
复制相似问题