1

Exceptionの代わりにInvalidArgumentExceptionを使用する利点は何ですか?それはコードの可読性を高めるためですか、それとも別の理由がありますか?

public function setShortName($shortName){
    $shortName = (string) $shortName;
    if (strlen( $shortName ) == 2) {
        $this->_shortName = (string) $shortName;
    } else {
        throw new InvalidArgumentException( "Ülke kısa ismi 2 karakterden oluşmak zorundadır", 115003 );
    }
}

また

public function setShortName($shortName){
    $shortName = (string) $shortName;
    if (strlen( $shortName ) == 2) {
        $this->_shortName = (string) $shortName;
    } else {
        throw new Exception( "Ülke kısa ismi 2 karakterden oluşmak zorundadır", 115003 );
    }
}
4

1 に答える 1

8

これは、読みやすさ/デバッグを改善し、コードの正しいブロックを処理するためのものです(たとえば、try-catchブロックなど)。

try {
  // some code with potential exception throwing block
} catch(InvalidArgumentException $ex) {
  // handling InvalidArgumentException
} catch(AnotherException $ex) {
  // handling AnotherException
} catch(Exception $ex) {
  // handling Exception
} finally {
  // always-processed code
}

例外はツリーベースの構造であるため、処理はその順序によって異なることに注意してください。(最低からルートへ)

ここに画像の説明を入力してください

詳細については、http://docs.oracle.com/javase/7/docs/api/java/lang/package-tree.htmlをご覧ください。

于 2012-11-15T11:59:21.310 に答える