当前位置: 首页 > 面试题库 >

为什么用户定义的异常类在Java中是首选/重要的?

施靖
2023-03-14
问题内容

当我们在Java中使用系统定义的异常类时,为什么需要制作用户定义的异常类?因为我的老师告诉我在项目中进行Exception类。

任何详尽的例子都是好的。


问题答案:

用户定义的异常可能更具描述性。

范例:

public void setName (String name)
    throws NameException
{
    if (name == null || name == "")
        throw new MissingNameException ();
    if (name.length > 30)
        throw new InvalidNameException (name); // this exception can contain a message that explains why the
                                               // name is invalid and what a valid name looks like
    _name = name;
}

创建自己的异常的替代方法是使用预定义的异常(例如)InvalidArgumentException,但这会给捕获该异常的方法提供较少的信息(因为它可以被许多类中的许多方法抛出)。

定义异常的类层次结构可在处理异常时为您的类用户提供更好的控制。



 类似资料:
  • 问题内容: 在JavaScript中定义枚举的首选语法是什么?就像是: 还是有更好的成语? 问题答案: 从1.8.5开始,可以密封和冻结对象,因此将以上定义为: 要么 和瞧!JS枚举。 但是,这不会阻止您为变量分配不需要的值,这通常是枚举的主要目标: 确保类型安全性(使用枚举或其他方式)的程度更高的一种方法是使用诸如TypeScript或Flow之类的工具。 不需要引号,但为了保持一致性,我保留了

  • 问题内容: 为什么tomcat有自己的类加载器。用户定义的类加载器的优点是什么 问题答案: 它隔离了部署到容器中的各种Web应用程序。也就是说,(取消)部署另一个Web应用程序不会影响Web应用程序的行为。 每个Web应用程序只能看到自己的类,而不能看到其他应用程序提供的类。这允许不同的Web应用程序使用同一类的不同版本。如果没有这种隔离,部署多个Web应用程序将是一场噩梦。 同样,OSGI捆绑软

  • 问题内容: 违反情况是“避免使用类似’ArrayList’的实现类型;而应使用接口”。 以下行将纠正违规: 为什么要用后者List代替ArrayList? 问题答案: 在具体类型上使用接口是实现良好封装和松散耦合代码的关键。 在编写自己的API时遵循这种做法甚至是个好主意。如果这样做,以后您会发现,将单元测试添加到代码中(使用Mocking技术),并在将来需要时更改基础实现会更容易。

  • 问题内容: 我发现有人的pom.xml中使用了maven-shade-plugin。我以前从未使用过maven-shade-plugin(并且我是Maven n00b),所以我试图了解使用它的原因及其作用。 我看了看Maven文档,但是我听不懂这句话: “此插件提供了将工件打包在uber-jar中的功能,包括其依赖项,并可以遮蔽(即重命名)某些依赖项的包。” 该页面上的文档似乎不太适合新手。 什么

  • 问题内容: 我正在开发一个小型应用程序,并且尝试使用Hibernate Annotations映射我的实体。我想测试一下出现此异常时一切是否正常: 有人可以解释这个异常是什么吗?这是我第一次看到它。这是我的应用程序的主要内容: 我的hibernate配置非常简单: 这是我正在使用的hibernateMaven依赖项: 有谁可以帮助我吗 ?? 问题答案: 这意味着在某个时候将an 更改为,但是原始接

  • 我读了很多关于Java异常处理的帖子,但我确实得到了满意的答案,为什么我要把它们放在我的代码中呢? 我想使用JRE的一些api方法,这些方法是用检查的异常进行的。所以如果我想使用它们,我需要抛出或捕获异常(例如java I/O)。这是在我的类中使用异常的合理规则吗? 我听说了这件事 Java异常处理使错误处理代码与我的业务逻辑分离 在下面的代码段中,分离错误处理的位置在哪里? 3.Java默认的异