From 1433c517cf5d07bd11af963ea0ecdaffcfd7f975 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Mon, 25 Dec 2006 18:00:00 +0000 Subject: [PATCH] Adding some error checking code related to the launching of avr-size because some people were having trouble on Windows. --- app/RunnerException.java | 2 ++ app/Sizer.java | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/RunnerException.java b/app/RunnerException.java index 390d7ef80..200e9abdb 100644 --- a/app/RunnerException.java +++ b/app/RunnerException.java @@ -66,6 +66,8 @@ public class RunnerException extends Exception { * in each of the constructors above. */ static public final String massage(String msg) { + if (msg == null) + return ""; if (msg.indexOf("java.lang.") == 0) { //int dot = msg.lastIndexOf('.'); msg = msg.substring("java.lang.".length()); diff --git a/app/Sizer.java b/app/Sizer.java index deb837fa5..2b7091c96 100644 --- a/app/Sizer.java +++ b/app/Sizer.java @@ -72,7 +72,11 @@ public class Sizer implements MessageConsumer { } catch (InterruptedException intExc) { } } } catch (Exception e) { - exception = new RunnerException(e.toString()); + // The default Throwable.toString() never returns null, but apparently + // some sub-class has overridden it to do so, thus we need to check for + // it. See: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1166589459 + exception = new RunnerException( + (e.toString() == null) ? e.getClass().getName() : e.toString()); } if (exception != null)