From d71b9ef7b2ed7d72df132b5e38448fbbac7036be Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 30 Apr 2016 16:53:16 +0100 Subject: Produce nicer error messages in C# --- .../internal/styles/parsing/ParseException.java | 19 ++----------------- .../internal/styles/parsing/StyleMapParser.java | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 18 deletions(-) (limited to 'src/main') diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/ParseException.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/ParseException.java index 40fb16b..718bb30 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/ParseException.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/ParseException.java @@ -1,22 +1,7 @@ package org.zwobble.mammoth.internal.styles.parsing; public class ParseException extends RuntimeException { - public ParseException(String line, int lineNumber, Token token, String message) { - super(generateMessage(line, lineNumber, token, message)); - } - - private static String generateMessage(String line, int lineNumber, Token token, String message) { - return "error reading style map at line " + lineNumber + ", character " + (token.getCharacterIndex() + 1) + - ": " + message + "\n\n" + - line + "\n" + - repeatString(" ", token.getCharacterIndex()) + "^"; - } - - private static String repeatString(String value, int times) { - StringBuilder builder = new StringBuilder(); - for (int i = 0; i < times; i++) { - builder.append(value); - } - return builder.toString(); + public ParseException(String message) { + super(message); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMapParser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMapParser.java index d1ceb72..8dd4099 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMapParser.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMapParser.java @@ -22,7 +22,7 @@ public class StyleMapParser { try { handleLine(styleMap, line); } catch (LineParseException exception) { - throw new ParseException(line, lineIndex + 1, exception.getToken(), exception.getMessage()); + throw new ParseException(generateErrorMessage(line, lineIndex + 1, exception.getToken(), exception.getMessage())); } } return styleMap.build(); @@ -63,4 +63,19 @@ public class StyleMapParser { return HtmlPathParser.parse(tokens); } } + + private static String generateErrorMessage(String line, int lineNumber, Token token, String message) { + return "error reading style map at line " + lineNumber + ", character " + (token.getCharacterIndex() + 1) + + ": " + message + "\n\n" + + line + "\n" + + repeatString(" ", token.getCharacterIndex()) + "^"; + } + + private static String repeatString(String value, int times) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < times; i += 1) { + builder.append(value); + } + return builder.toString(); + } } -- cgit v1.2.3