diff options
Diffstat (limited to 'micropeak/MicroData.java')
| -rw-r--r-- | micropeak/MicroData.java | 22 | 
1 files changed, 8 insertions, 14 deletions
diff --git a/micropeak/MicroData.java b/micropeak/MicroData.java index 04e9ad32..e786ff1e 100644 --- a/micropeak/MicroData.java +++ b/micropeak/MicroData.java @@ -100,13 +100,13 @@ public class MicroData implements AltosUIDataSet {  	String			name;  	MicroStats		stats; -	class FileEndedException extends Exception { +	public class FileEndedException extends Exception {  	} -	class NonHexcharException extends Exception { +	public class NonHexcharException extends Exception {  	} -	class InvalidCrcException extends Exception { +	public class InvalidCrcException extends Exception {  	}  	private int getc(InputStream f) throws IOException, FileEndedException { @@ -167,14 +167,10 @@ public class MicroData implements AltosUIDataSet {  		return h;  	} -	private boolean find_header(InputStream f) throws IOException { -		try { -			for (;;) { -				if (get_nonwhite(f) == 'M' && get_nonwhite(f) == 'P') -					return true; -			} -		} catch (FileEndedException fe) { -			return false; +	private boolean find_header(InputStream f) throws IOException, FileEndedException { +		for (;;) { +			if (get_nonwhite(f) == 'M' && get_nonwhite(f) == 'P') +				return true;  		}  	}  @@ -339,7 +335,7 @@ public class MicroData implements AltosUIDataSet {  		this.name = name;  	} -	public MicroData (InputStream f, String name) throws IOException, InterruptedException { +	public MicroData (InputStream f, String name) throws IOException, InterruptedException, NonHexcharException, FileEndedException {  		this.name = name;  		bytes = new ArrayList<Integer>();  		if (!find_header(f)) @@ -384,8 +380,6 @@ public class MicroData implements AltosUIDataSet {  			stats = new MicroStats(this);  		} catch (FileEndedException fe) {  			throw new IOException("File Ended Unexpectedly"); -		} catch (NonHexcharException ne) { -			throw new IOException("Non hexadecimal character found");  		}  	}  | 
