每次我在Eclipse IDE(Spring Tool Suite)中以调试模式运行Spring Boot项目时,线程都会在抛出新的SilentExitExc0019();
行时停止,即使没有断点。
有什么办法可以避免这种行为吗?
org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exit货币线程()(第53行):
public static void exitCurrentThread() {
throw new SilentExitException();
}
这在升级到1.3.0里程碑后开始发生。
Spring工具套件
Version: 3.7.0.RELEASE
Build Id: 201506290649
平台:
Eclipse Luna SR2 (4.4.2)
由于Eclipse on Debug模式已经允许有限的热补丁,我发现重新加载程序在大多数情况下都会适得其反,因此我决定通过以下方式禁用它:
System.setProperty("spring.devtools.restart.enabled", "false");
参考:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html#using-boot-devtools-restart-disable
由于该异常是由重新加载程序引发的,这也解决了这个问题。请注意,您必须使用系统。setProperty方法,而不是在
应用程序中设置它。属性
。
将属性添加为VM参数:
-Dspring.devtools.restart.enabled=false
这样,您就不必更改代码,因为在使用以下命令时就是这样:
System.setProperty("spring.devtools.restart.enabled", "false");
不幸的是,这是一个已知的问题,与新的sping-boo-devols
模块(见https://github.com/spring-projects/spring-boot/issues/3100)。我们使用这个技巧来杀死主线程,以便我们可以用可重新加载的版本替换它。到目前为止,我还没有找到防止调试断点触发的方法。
现在,您可以在Java中切换“未捕获异常时暂停执行”复选框-
每次我在Eclipse IDE(Spring Tool Suite)中以调试模式运行Spring Boot项目时,线程都会在行停止,即使没有断点。 有没有什么办法来避免这种行为? Spring工具套件 平台:
问题内容: Visual Studio有一个选项,可以在引发未处理的异常时自动将其插入调试器,Eclipse是否具有类似的功能? 问题答案: 即使未捕获到这些异常,您也可以定义要在其上创建断点的确切的异常列表(应该等效于“ unhandled”)
我正在调试一个HiveProcessor,它遵循官方的PutHiveStreaming处理器,但它写入的是Hive2.x,而不是3.x。该流在Nifi cluster 1.7.1中运行。尽管发生此异常,但数据仍被写入配置单元。 例外情况是: 有人做过类似的事吗?或者有没有更简单的方法来调试自定义处理器?
问题内容: 我有一个关于Java中重新引发异常的非常简单的问题。 这是代码片段: 为什么我们需要在第一个版本中重新抛出,而第二个版本看起来更优雅?可能有什么好处,并且优先选择哪个版本? 问题答案: 你是对的。第二版更好。而且,第一个版本没有任何意义。除了异常的堆栈跟踪为“错误”之外,它的功能相同。 有“重新抛出”异常的原因如下: 如果您之前有事要做。 如果捕获一种类型的异常并抛出另一种类型的异常:
版本: 我得到以下错误:
在 linux 内核中你会发现很多关于中断和异常处理的话题 中断和中断处理 Part 1. - 描述中断处理主题 深入 Linux 内核中的中断 - 这部分开始描述和初步步骤相关的中断和异常处理。 初步中断处理 - 描述初步中断处理。 中断处理 - fourth part describes first non-early interrupt handlers. 异常处理的实现 - 一些异常处理的