PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

Documenting Exceptions | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

Documenting Exceptions

Because PHP, unlike Java, does not require you to explicitly state which Exceptions a method throws in the method signature, it is critical that Exceptions be thoroughly documented in your method headers.

Exceptions should be documented using the @throws phpdoc keyword:

<?php
/**
 * This method searches for aliens.
 *
 * @return array Array of Aliens objects.
 *
 * @throws AntennaBrokenException If the impedence readings indicate
 *                                that the antenna is broken.
 * @throws AntennaInUseException  If another process is using the
 *                                antenna already.
 */
public function findAliens($color 'green');
?>

In many cases middle layers of an application will rewrap any lower-level exceptions into more meaningful application exceptions. This also needs to be made clear:

<?php
/**
 * Load session objects into shared memory.
 *
 * @throws LoadingException Any lower-level IOException will be wrapped
 *                          and re-thrown as a LoadingException.
 */
public function loadSessionObjects();
?>

In other cases your method may simply be a conduit through which lower level exceptions can pass freely. As challenging as it may be, your method should also document which exceptions it is not catching.

<?php
/**
 * Performs a batch of database queries (atomically, not in transaction).
 *
 * @throws SQLException Low-level SQL errors will bubble up through this method.
 */
public function batchExecute();
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「Documenting Exceptions」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | Documenting Exceptions」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: