在eclipse中,框架对任何引发异常的代码施加try \ catch或throws语句。您不能继续做任何事情,除了例外。
例如,如果您要写:
File propertiesFile = new File(PROPS_FILE_PATH)
除非您用 try / catch 包围它,或者将 throw FileNotFoundException 添加到方法签名中,否则Eclipse不会构建该项目。
IntelliJ不强加于此。
IntelliJ中是否有任何并行行为?有插件吗?
伙计们,谢谢大家的建议。 我主要关心的是了解是否有一种方法可以像Eclipse IDE中一样实现“检测和警告异常”的相同行为。
在锁定我的问题之后:
如DZone所述:
在创建Exception类时,程序员必须指定 必须捕获或可选捕获的一种异常。如果你 声明Exception类以扩展Exception,如下所示, 编译器会坚持,所抛出的方法也应该 陷入困境。
编译器在调用方法时为程序员提供了两种选择 引发必须捕获的异常: 1.在正在调用的代码中添加try / catch以捕获异常 2.将异常传回给调用者
因此,您可以看到eclipse编译器强制程序员以这种方式或其他方式处理异常。这也是我在Intellij上搜索的内容。
谢谢!
答案 0 :(得分:2)
IntelliJ与用于检查异常的Window的工作方式相同:它要求您处理(捕捉/抛出)它。
但是File propertiesFile = new File(PROPS_FILE_PATH)
不会引发任何检查的异常。查看constructor javadoc。
尝试使用可能引发检查异常的语句:
FileInputStream propertiesFile = new FileInputStream(PROPS_FILE_PATH);
我主要关心的是了解是否有办法实现 与“检测和警告异常”相同的行为 Eclipse IDE。
您可以在导致IDE的语句,项目视图(当前类将用红色下划线标记)和问题视图中找到IDE上的编译错误。
IntelliJ提供的默认意图(在语句中为Alt + Enter)将是在throw子句中添加异常或捕获异常。
在Eclipse中,您会在同一位置发现编译错误,并且默认的快速修复程序也相同。
因此,您不应在IntelliJ上迷失方向。至少在这一点上。请注意,您可能会在其他人身上。我个人是:)
关于“警报”,IntelliJ的默认运行方式比Eclipse严格:失败很快。
GhostCat的答案很好地解决了这一点。您可能会感兴趣。
答案 1 :(得分:1)
除非...
,否则Eclipse不会构建项目。首先:捕获异常是一件好事。 “正常”操作模式是:将生成的try / catch放入其中,并带有“ TODO:我们应该捕获还是做其他事情”,以及至少打印/转储异常。这样,当您开始测试代码时,就可以看到异常。
除此之外:实际上,eclipse是IDE(默认情况下),即使遇到错误也可以继续编译内容。它甚至允许您在某些方法未编译的类中运行方法A!
另一方面,IntelliJ在遇到第一个错误时将停止所有编译活动。实际上,您必须设置您的项目才能使用“ eclipse”编译器样式来获得eclipse“出错后继续编译”!
答案 2 :(得分:0)
在IntelliJ / Eclipse的任何地方进行异常处理:
ColumnMappings
以下是其他一些检查异常:-
java.lang.Object
|
+--java.lang.Throwable
|
+--java.lang.Exception
| |
| +--java.lang.ClassNotFoundException
| |
| +--java.io.IOException
| | |
| | +--java.io.FileNotFoundException
因此您需要在运行前检查和处理bt try / catch或将其扔给父级: