Не зная исключения, я могу предположить, что одна из потенциальных проблем заключается в следующих строках: -
String [] splitted = str.split("\\|");
String b = splitted[1].trim();
String c = splitted[2].trim();
String d = splitted[3].trim();
Вы получаете доступ к splitted
, не проверяя, имеет ли оно значение null или размер, поэтому вы можете столкнуться с исключением ArrayIndexOutOfBound, если splitted
длина меньше 3. Поэтому измените код следующим образом -
String [] splitted = str.split("\\|");
if(splitted!=null && splitted.length==3){
String b = splitted[0].trim();
String c = splitted[1].trim();
String d = splitted[2].trim();
}