繁体   English   中英

替换多个try catch来处理异常

[英]Alternate for multiple try catch to handle the exception

我试图读取一个包含20列的CSV文件,这些列可能包含或不包含值,但问题是我必须创建20次try catch才能以控制方式维护代码流。 喜欢

String a = ""; loop
try{
a = list.get(0);  // converted the csv to list of list and iterated in 
}catch(NoSuchElementException e){}

并且每个其他变量都一样。我分开尝试catch的原因是因为在下面的代码中

 String a = ""; 
 String b = ""; 
 try{
    a = list.get(0);
    b = list.get(1);
 }catch(NoSuchElementException e){}

如果第一行尝试给出异常,则第二行不会执行。

那么这些n次尝试捕获情况有没有替代?

谢谢

您可以创建一个辅助方法:

private String getField(List<String> list, int n) {
  try {
    return list.get(n);
  } catch (NoSuchElementException e) {
    return "";
  }
}

String a = getField(list, 0);
String b = getField(list, 1);

编辑:

通常,如果您没有足够的字段,您将不会依赖例外,以下内容实现相同但主观感觉更清晰:

private String getField(List<String> list, int n) {
  if (n < list.size()) {
    return list.get(n);
  }
  return "";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM