0
比方說,我有實例化時所接受的SomeClass
數組類,例如:PHP - 自定義異常消息行號
class ConfigurableClass
{
public function __construct(array $config = array())
{
foreach($config as $param)
{
if(!$param instanceof SomeClass)
{
$type = gettype($param);
$line = ? // How can I retrieve this?
throw new Exception("ConfigurableClass config parameters must be of type SomeClass, $type given in line $line");
}
}
}
}
而且我們說這個類實例化在不同的文件與
$instance = new ConfigurableClass(array(
new SomeClass(),
new SomeClass(),
new SomeClass(),
'Ooops!', // String type, line 5
new SomeClass()
));
如何可以拋出一個錯誤消息,其指定在錯誤的對象類型插入的行號:具有錯誤類型的一個元件,例如一個數組? 在這種情況下,相應的消息應爲:
"ConfigurableClass config parameters must be of type SomeClass, string given in line 4"
請記住,這只是一個例子。真正的類可以接受一個非常龐大而複雜的數組。在這種情況下了解行號可能非常有用。
http://php.net/manual/en/language.constants.predefined.php但要處理您的特定情況,您可能需要按照堆棧回溯的方式工作。 –
你不應該需要這個,只是讓用戶知道他們通過了一個不正確的類型,你甚至可以通過利用func_get_args給他們哪些參數是不正確的http://php.net/manual/en/function.func-get -args.php –
@ZachSpencer如果我想讓他們的生活變得更簡單,該怎麼辦?想象一下,這個類可以接受非常大的配置數組,那麼它會有用嗎? –