我正在创建一些可重用的函数,现在我有这样的错误处理设置:
<?php
...
public function insertAfter( $index, $objects )
{
if ( ! is_int( $index ) ) {
trigger_error( 'Cursor::insertAfter() expects parameter 1 to be integer, ' . gettype( $index ) . ' given', E_USER_WARNING );
} else {
// Do my regular code
}
return $this;
}
...
我尝试将其设置为像PHP处理错误一样工作。这是一种适当的做事方式吗?
答案 0 :(得分:4)
您可能会抛出异常。在PHP手册中查看Exception。
编辑:这是一些有用的SO线程。
答案 1 :(得分:0)
查看Altumo包。它有相当多的方便的验证器,可以做你想做的事情。
例如,
$index = \Altumo\Validation\Numerics::assertInteger(
$index,
'Cursor::insertAfter() expects parameter 1 to be integer, ' . gettype( $index ) . ' given'
);
对象类型,字符串,布尔值等有validators
P.S。异常比trigger_error()更灵活,因为您可以更精细地控制它们。 Here's a good thread on that topic.