首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抛出InvalidArgumentException而不抛出异常有什么好处?

抛出InvalidArgumentException而不抛出异常有什么好处?
EN

Stack Overflow用户
提问于 2012-11-15 19:47:00
回答 1查看 2.6K关注 0票数 1

我想知道使用InvalidArgumentException代替Exception有什么好处?这是为了增加代码的可读性,还是有其他原因呢?

代码语言:javascript
复制
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 );
    }
}

代码语言:javascript
复制
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 );
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-15 19:59:21

这是为了更好的可读性/调试,以及处理正确的代码块,例如在try-catch块中...

代码语言:javascript
复制
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

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13396909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档