diff --git a/src/java/org/apache/sqoop/orm/ClassWriter.java b/src/java/org/apache/sqoop/orm/ClassWriter.java index 7fdf434d..0adc7180 100644 --- a/src/java/org/apache/sqoop/orm/ClassWriter.java +++ b/src/java/org/apache/sqoop/orm/ClassWriter.java @@ -1030,11 +1030,16 @@ private void generateParser(Map columnTypes, // method is type-dependent for the fields. sb.append(" private void __loadFromFields(List fields) {\n"); sb.append(" Iterator __it = fields.listIterator();\n"); - sb.append(" String __cur_str;\n"); + sb.append(" String __cur_str = null;\n"); + sb.append(" try {\n"); for (String colName : colNames) { int colType = columnTypes.get(colName); parseColumn(colName, colType, sb); } + sb.append(" } catch (RuntimeException e) {"); + sb.append(" throw new RuntimeException(" + + "\"Can't parse input data: '\" + __cur_str + \"'\", e);"); + sb.append(" }"); sb.append(" }\n\n"); }