gpt4 book ai didi

java - 您将如何拦截所有异常?

转载 作者:搜寻专家 更新时间:2023-10-31 08:06:01 24 4
gpt4 key购买 nike

在您看来,拦截 Java 应用程序中所有异常的最简单方法是什么?是否需要 AOP 来提供这种功能,或者可以使用动态代理来完成,还是有其他方法?关于对执行性能的影响,最简单的解决方案也是一个好的解决方案吗?在我试图掌握有关该主题的技术知识时,我想听听更有经验的开发人员可能的解决方案。

编辑:

谢谢你的好建议,但目前的建议不是只适用于检查异常吗?未经检查的异常,如 NullPointerExceptions,如果它们可以被捕获并且应用程序在捕获它们时会转储堆/堆栈以在崩溃时为您提供应用程序的当前上下文,那不是很有用吗?

最佳答案

您想要拦截每个异常的目的是什么 - 用于日志记录、错误报告?

拦截 Java 程序的每一行中的每一个异常是可能的,但可能会导致相当大的性能损失。如果这是不可避免的,最好使用类似 AspectJ 的东西。 ,它可以在编译时运行(即它“编织”到您的类文件中),因此比动态代理快得多。

但这是我会不惜一切代价避免做的事情!一般来说,我会说最好限制你想要捕获的异常的范围。你也可能想看看 Thread.setDefaultUncaughtExceptionHandler ,我发现它对于在 GUI 应用程序中显示错误对话框很有用。

关于java - 您将如何拦截所有异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1509346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com