gpt4 book ai didi

java - 我的 friend 指出[在 main 中抛出异常是不合适的]。我应该如何以及在哪里修复它?

转载 作者:行者123 更新时间:2023-12-02 05:36:49 28 4
gpt4 key购买 nike

我应该添加一个方法并且不在 main 中调用 throws 吗?这样合适吗?我该怎么写呢?我不知道怎么写。

 private static String fileName = "C:\\fruit.csv"; 
public static void main(String[] args) throws
IOException{
BufferedReader br = new BufferedReader(new
FileReader(fileName));
TreeMap<String,Integer> tm = new
TreeMap<String,Integer>();
String line;
Logger logger = Logger.getLogger("Sample");
BasicConfigurator.configure();
logger.setLevel(Level.DEBUG);
try{
while((line = br.readLine()) != null){
String[] words = line.split("\\s");
for(String s : words){
if(!tm.containsKey(s)){
tm.put(s,1);
logger.debug(s+""+tm.get(s)+"N");}else{
tm.put(s,tm.get(s).intValue()+1);
logger.debug(s+""+tm.get(s)+"N");}}}
}catch(IOException e){
logger.debug("Error");
}finally{ br.close()}
Writer fw = new FileWriter("C:\\count.properties");
Properties p =new Properties();
for(String key : tm.keySet()){
p.setProperty(key,String.valueOf(tm.get(key)));
}p.store(fw,"fruit");}}}

最佳答案

为什么不合适?谁说是这样的?

这完全取决于程序,因此笼统地声称“在 main 中抛出异常是不合适的”是错误的1

如果发生异常,您认为应该发生什么?这是要做出的决定,并且该决定可能在很大程度上取决于该计划的目的。

一个异常,因此您可能希望打印它,并带有堆栈跟踪,以便您可以找出位置和原因。这正是 main 抛出异常时 java 命令所做的事情,那么为什么要捕获它,只是为了自己做同样的事情呢?

当然,如果它是一个命令行实用程序,您可能希望捕获异常(包括 RuntimeExceptionError),以打印一个 -行错误消息,没有堆栈跟踪,然后使用退出代码结束程序。但并非所有 java 程序都是命令行实用程序。

1)无论如何,这是我对这个主题的看法。

关于java - 我的 friend 指出[在 main 中抛出异常是不合适的]。我应该如何以及在哪里修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56159813/

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