我可以声明php函数抛出异常吗?
题
我可以在php中声明一个函数 这抛出了一个例外? 例如:
public function read($b, $off, $len) throws IOException
. 解决方案
我误读了问题,请参阅下面的答案来自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';
?>
. 其他提示
您可以在PHPDOC评论中使用@Throws,并且IDE将在查看DOC时将此功能识别为抛出异常,但是与Java不同,它不会强制执行TRY {} CATCH块。也许IDE的未来版本(我使用的Intelij 11)将标记尝试{}捕获的位置,与识别不一致时的Doc(例如String})已经与之标记的JavaScript类型。
简而言之,使用DOCLET与脚本语言(PHP,JavaScript ...)进行码种时,在非类型安全和非编译语言的情况下,转向更安全编程的互补工具。
如下:
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) {
}
.
不隶属于 StackOverflow