From 7d7e04cd518d08142cc2344e27b17220be560dfe Mon Sep 17 00:00:00 2001 From: OliE Date: Fri, 14 Aug 2015 19:01:44 +0200 Subject: [PATCH] catch some import parse errors. --- .../main/java/com/health/openscale/core/OpenScale.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java b/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java index 8811eda82..67522ceeb 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java +++ b/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java @@ -216,6 +216,10 @@ public void importData(String filename) throws IOException { while (line != null) { String csvField[] = line.split(",", -1); + if (csvField.length < 8) { + throw new IOException("Can't parse CSV file. Field length is wrong."); + } + ScaleData newScaleData = new ScaleData(); newScaleData.date_time = dateTimeFormat.parse(csvField[0]); @@ -236,7 +240,9 @@ public void importData(String filename) throws IOException { } catch (ParseException e) { throw new IOException("Can't parse date format. Please set the date time format as (e.g. 31.10.2014 05:23)"); - } + } catch (NumberFormatException e) { + throw new IOException("Can't parse float number (" + e.getMessage()+")"); + } updateScaleData();