This question already has answers here:
Can I set Eclipse to ignore “Unhandled exception type”
                                
                                    (4个答案)
                                
                        
                3年前关闭。
            
        

我用eclipse编写了以下代码:

String d = "2014-6-1 21:05:36";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date =sdf.parse(d);
System.out.print(date);


第4行抛出Unhandled exception type ParseException.

但是如果我写:

try {
  String d = "2014-6-1 21:05:36";
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Date date =sdf.parse(d);
  System.out.print(date);
} catch(ParseException e) {
  e.printStackTrace();
  System.out.print("you get the ParseException");
}


或在main方法的开头添加throws ParseException

public static void main(String[] args) throws ParseException {
  String d = "2014-6-1 21:05:36";
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Date date =sdf.parse(d);
  System.out.print(date);
}


它们都工作良好...我的代码有什么问题?我在catch块中使用了方法printStackTrace(),但是为什么看不到ParseException?

最佳答案

这与您实际上没有例外有关。但是您的String可能格式错误(不是这样)。在这种情况下,您将获得例外。

因此,编译器希望您处理该异常。您要么将其重新扔掉要么将其抓住。但是:您的代码实际上不会得到异常。以防万一有例外。

07-28 12:30