java - java中未经检查的异常是什么意思

标签 java exception-handling

嗯,从一本书中我得到以下几行:

Java 在标准包 java.lang 中定义了几个异常类。 这些异常中最常见的是标准类型 RuntimeException 的子类。由于 java.lang 被隐式导入到所有 Java 程序中,因此从 RuntimeException 派生的大多数异常都是自动可用的。

此外,它们不需要包含在任何方法的抛出列表中。

那么,这是否意味着我不需要 try catch block ?

我已经完成了下面的代码,但是它显示错误:

 Exception in thread "main" java.lang.ArithmeticException: / by zero
at ArithCls.main(ArithCls.java:10)

代码:

import java.lang.*;
public class ArithCls {

public static void main(String[] args)
    {
    int a=20;
    int b=0;
    int c = a/b;
    System.out.println("After code");
}
}

最佳答案

Unchecked Exception 是未检查的异常;-P

不,严肃地说,这是编译器/jvm 不强制您的代码检查的异常。这些通常(总是?)是运行时异常,例如 NullPointerException

运行时异常通常是您无法在执行时间之前正确预测和/或处理的异常,因此它会导致程序执行崩溃。

您可以在自己的代码中使用 try/catch block 明确地“检查”它们,但通常最好通过空检查等方式处理这些问题。

if (str != null) {

    // do stuff
}

关于java - java中未经检查的异常是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23203542/

相关文章:

java - CDI 注入(inject)的 bean 是否需要 getter 和 setter?

java - JSF:如何在页面上显示 BufferedImage?

java - 设置构造函数参数时无法解析对 bean 'entityManagerFactory' 的引用

c# - 如何以编程方式区分不同的 IOException?

python - 如何将自定义错误代码添加到 Django Rest Framework

python - 在 Python 中,如何在保持原始调用堆栈的同时检查并重新引发异常?

控制台应用程序中的 Java 键盘输入解析

java - 如何找出正确的 ldap 参数

java - 使用来自另一个异常的堆栈跟踪初始化异常?

python-2.7 - 如何拦截flask中的所有异常?