gpt4 book ai didi

java - try block 内语句的 Netbeans 声明性提示语法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:35:54 24 4
gpt4 key购买 nike

我想检查并转换一个特定的语句为 try-with-ressources 形式。但我感觉 declarative hints format 的语法为此我避而不谈。

我试过:

<!description="Stmt into try-with-resources">
try {
$before$;
someMethod($arg1, $arg2, $arg3);
$after$;
} catch $catches$
=>
try (Resource res = acquire($arg1, $arg2, $arg3)) {
$before$;
res.use();
$after$;
} catch $catches$

但应用到我的代码中时,模式永远不会匹配。这是我希望匹配的一些示例代码部分:

public boolean step(String input) {
String id = getId(ID);
try {
SomethingBefore();
someMethod(10, "label", name);
return true;
} catch (Exception ex) {
log.error("problem", ex);
return true;
}
}

知道为什么这不匹配吗?特别是因为我认为文档中的示例与我的匹配,除了 finally:

try {
$statements$;
} catch $catches$
finally {
$finally$;
}

更新:似乎Jackpot - 规则使用相同的语法,可能是因为它使用相同的代码库。

最佳答案

这种重构非常繁琐,而且文档也很少。你必须根据这个例子改变你的模式

<!description="Stmt into try-with-resources">
try {
$before$;
$name($arg1, $arg2, $arg3);
$after$;
} catch $catches$
=>
try (Resource res = acquire($arg1, $arg2, $arg3)) {
$before$;
res.use();
$after$;
} catch $catches$

但是,如果您还有其他方法调用 3 个参数,我不知道如何处理。

关于java - try block 内语句的 Netbeans 声明性提示语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30396269/

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