我可以在 php 中声明一个引发异常的函数吗?例如:
public function read($b, $off, $len) throws IOException
您可以在 PHPDoc 注释中使用 @throws,IDE 会在查看文档时将此函数识别为抛出异常,但与 Java 不同的是,它不会强制您实现 Try{}catch 块。也许未来版本的 IDE(我正在使用 InteliJ 11)将标记那些需要 try{}catch 的地方,这与在识别不一致时对 doc 标记的 JavaScript 类型(例如 String})所做的相同。
简而言之,在使用脚本语言(PHP、JavaScript..)编码时使用 Doclet,在非类型安全和非编译语言的情况下成为更安全编程的补充工具。
像这样:
enter code here
/**
* Handle 'get' operations
* @abstract
* @param int $status reference for setting the response status
* @param String $body reference for setting the response data
* @return mixed
* @throws Exception if operation fail
*/
function get(&$status, &$body) {
}
我误读了这个问题,请参阅下面来自 Gilad 的答案(应该被接受)。
上一个答案:
您可以从函数体中抛出一个新异常。都在这里描述
例子:
<?php
function inverse($x) {
if (!$x) {
throw new Exception('Division by zero.');
}
else return 1/$x;
}
try {
echo inverse(5) . "\n";
echo inverse(0) . "\n";
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
// Continue execution
echo 'Hello World';
?>