首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >异常处理的内部行为是什么?

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

Stack Overflow用户
提问于 2015-09-07 12:07:18
回答 2查看 301关注 0票数 4

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

如果没有处理异常,那么该异常对象发生了什么?内部机制是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-07 12:14:38

您可以检查如何处理不明确的异常

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

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

票数 3
EN

Stack Overflow用户

发布于 2015-09-07 12:31:48

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

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

代码语言:javascript
运行
复制
            e= new Exception();
            StackTraceElement[] st = e.getStackTrace();
            for(StackTraceElement s:st)
            {
                s.getLineNumber()
            }
// NO throw
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32438356

复制
相关文章

相似问题

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