更好地理解检查与。 未经检查的异常——如何在 Java 中更好地处理异常?

已发表: 2014-09-15

Crunchify 的 Java 检查异常

检查异常

什么是 Java 编程语言中的检查异常。 用简单的语言:在编译时检查的异常称为检查异常。 其中一些在下面提到。 如果在您的代码中,如果某些方法抛出checked exception 那么该方法必须要么handle the exception ,要么必须使用throws关键字指定异常。

  1. IO异常
  2. SQL异常
  3. 数据访问异常
  4. ClassNotFoundException
  5. 调用目标异常
  6. 格式错误的 URL 异常

我们来看一个例子:

在下面的示例中,我们将获取站点“Crunchify.com”的内容并在控制台中打印它。 在此操作期间,Java 程序将在下面突出显示的行处抛出MalformedURLExceptionIOException

有两种方法可以解决这个问题。 在代码中Add throws clauseAdd Try, Catch block来解决它。 这是一个更新的代码。

  1. 修改第 16 和 20 行并添加throws IOException
  2. 在 26,42,43 上添加 try catch 块

未经检查的异常

Java中的未经检查的异常是那些NOT verified during Compile time其处理的异常。 这些异常是由于糟糕的编程而发生的。

该程序不会给出编译错误。

所有未经检查的异常都是RuntimeException类的直接子类。

Simple Example :您创建了接受用户输入的在线表单。 它是自由文本形式。 在电子邮件字段、用户名字段或电话号码字段的情况下,使用可能会输入任何错误的值。

如果您在客户端没有验证,那么在生产中运行应用程序时有更多可能获得运行时验证异常。 DB 操作或将字段从一种格式转换为另一种格式可能会引发错误。

以下是未检查异常的类型:

  • 空指针异常
  • ArrayIndexOutOfBound
  • IllegalArgumentException
  • 非法状态异常

最让我烦恼的是 NullPointer Exception。 上周我写了一篇关于 NPE 的详细文章。

总共提供了 8 种不同的技巧来避免 NPE。

Java 检查与未检查的异常 - Crunchify

ArrayIndexOutofBoundException - Crunchify 提示

在 Java 7 中,您可以在单个Catch block中处理多个异常。 您可以将第 13 行从上面的行更改为下面。

总而言之,Checked 和 Unchecked Exception 都使用关键字try, catchfinally来处理。

在功能方面 Checked 和 Unchecked Exception 是相同的。