Коды:
String[] logs={"a","b","c"};
int errors=0;
for(String str:logs){
try{
LogParser.parse(str);
} catch(ParseException e){
error++;
continue; // Seems that, this two line codes are not reached.
}
}
В приведенных выше кодах LogParser используется для анализа журнала tomcat комбинированного шаблона, когда я получаю данные формата даты, я использую SimpleDateFormat для анализа его в Java.Util.Date, затем он может выдать ParseException. Массив logs здесь просто используется для создания исключения.
Однако, когда это исключение возникает при анализе одного журнала, приложение завершает работу, я хочу, чтобы оно ограничивалоследующий журнал.
Как это сделать?
Я прочитал учебник по адресу:
http://download.oracle.com/javase/tutorial/essential/exceptions/catchOrDeclare.html.
Там говорится, что Error и RuntimeException являютсяне подчиняясь блоку try catch, приложение все равно закроется.
Но исключение java.text.ParseException расширяет исключение, почему оно не может быть объектом моего блока try-catch?Поскольку переменная «error» не равна + 1,
, я подумал использовать это:
finally{
error++;
continue;
}
да, это работает, но когда журнал анализируется правильно, ошибка будетКроме того, это не должно быть.
Может кто-нибудь сказать мне, почему?