Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN | |||
BasicEvioFileReader.java | +16 | -6 | 1.1 -> 1.2 |
attempt to recover from event read errors; keep track of how many events had errors
diff -u -r1.1 -r1.2 --- BasicEvioFileReader.java 25 Apr 2012 21:13:47 -0000 1.1 +++ BasicEvioFileReader.java 25 Apr 2012 21:57:44 -0000 1.2 @@ -20,17 +20,27 @@
int totalEvents = reader.getEventCount(); System.out.println("EVIO file has " + totalEvents + " total events."); int eventN = 1;
- while (true) {
+ int badEvents = 0; + while (true) {
System.out.println("Reading event " + eventN + " of " + totalEvents);
- System.out.println("There are " + reader.getNumEventsRemaining() + " events remaining."); - EvioEvent event = reader.parseNextEvent(); - System.out.println("Successfully read event " + eventN + " which contains " + event.getTotalBytes() + " bytes."); - System.out.println("Event bank has " + event.getChildCount() + " sub-banks."); - if (reader.getNumEventsRemaining() == 0) {
+ try { + System.out.println("There are " + reader.getNumEventsRemaining() + " events remaining."); + EvioEvent event = reader.parseNextEvent(); + System.out.println("Successfully read event " + eventN + " which contains " + event.getTotalBytes() + " bytes."); + System.out.println("Event bank has " + event.getChildCount() + " sub-banks."); + } + catch (Exception e) { + System.out.println("Caught Exception processing event " + eventN + " which was..."); + e.printStackTrace(); + ++badEvents; + } + if (reader.getNumEventsRemaining() == 0) {
break; } ++eventN;
+ System.out.println("-------");
}
+ System.out.println("There were " + badEvents + " bad events out of " + totalEvents + " total.");
reader.close(); } catch (Exception e) {
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1