sha*_*hay 38 php exception throw throws
我可以在php中声明一个抛出异常的函数吗?例如:
public function read($b, $off, $len) throws IOException
Run Code Online (Sandbox Code Playgroud)
Gil*_*lad 40
您可以在PHPDoc注释中使用@throws,并且IDE在查看文档时会将此函数识别为抛出异常,但与Java不同,它不会强制您实现Try {} catch块.也许IDE的未来版本(我使用的是InteliJ 11)将标记那些需要try {} catch的地方,与识别不一致时已经使用doc标记的JavaScript类型(例如String})相同.
简而言之,使用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) {
}
Run Code Online (Sandbox Code Playgroud)

Lee*_*vis 15
您可以从函数体中抛出一个新的异常.这一切都在这里描述
例:
<?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';
?>
Run Code Online (Sandbox Code Playgroud)
有关SPL随附的异常的列表:SPL Exceptions。
如果要创建自己的异常:
从“ PHP例外”页面:
抛出的对象必须是Exception类的实例或Exception的子类。尝试抛出非对象,将导致PHP致命错误。
因此,可以创建自己的异常。只需一点阅读即可帮助您实现所需的目标。
| 归档时间: |
|
| 查看次数: |
29957 次 |
| 最近记录: |