Java 异常处理的内部行为是什么?

Java 异常处理的内部行为是什么?,java,exception,Java,Exception,如果存在异常,则创建异常对象 如果未处理异常,该异常对象会发生什么情况?内部机制是什么?您可以检查: Java实际上根据中的线程处理未捕获的异常 它们发生了。在特定的数据库中发生未捕获的异常时 线程,Java查找所谓的未捕获异常处理程序, 实际上是接口UncaughtExceptionHandler的实现。 后一个接口有一个handleException()方法,该方法 实现者重写以采取适当的操作,例如打印 堆栈跟踪到控制台。稍后我们将看到,我们实际上可以 安装我们自己的UncaughtExce

如果存在异常,则创建异常对象

如果未处理异常,该异常对象会发生什么情况?内部机制是什么?

您可以检查:

Java实际上根据中的线程处理未捕获的异常 它们发生了。在特定的数据库中发生未捕获的异常时 线程,Java查找所谓的未捕获异常处理程序, 实际上是接口UncaughtExceptionHandler的实现。 后一个接口有一个handleException()方法,该方法 实现者重写以采取适当的操作,例如打印 堆栈跟踪到控制台。稍后我们将看到,我们实际上可以 安装我们自己的UncaughtExceptionHandler实例来处理 特定线程甚至整个线程的未捕获异常 系统

具体程序如下。当一个未捕获的异常 发生时,JVM执行以下操作:

  • 它在发生异常的线程类上调用一个特殊的私有方法dispatchUncaughtException()
  • 然后终止发生异常的线程1

如果异常对象存在并被抛出,那么Rahul已经很好地回答了

有趣的是如何处理新的异常对象,而不是抛出。这是一种获取运行时信息的编程技术,如堆栈、调用位置、异常构造函数等

            e= new Exception();
            StackTraceElement[] st = e.getStackTrace();
            for(StackTraceElement s:st)
            {
                s.getLineNumber()
            }
// NO throw