[jsemver] 82/95: Make small improvements to exceptions

Alexandre Viau reazem-guest at moszumanska.debian.org
Mon Feb 16 14:58:33 UTC 2015


This is an automated email from the git hooks/post-receive script.

reazem-guest pushed a commit to branch master
in repository jsemver.

commit e98a07dd5ec1d1691fa1953b008788617280eb22
Author: Zafar Khaja <zafarkhaja at gmail.com>
Date:   Mon Jun 23 21:24:23 2014 +0300

    Make small improvements to exceptions
---
 .../github/zafarkhaja/semver/ParseException.java   | 32 ++++++++++++++++++++--
 .../semver/expr/UnexpectedTokenException.java      |  5 +++-
 .../semver/util/UnexpectedElementException.java    |  5 +++-
 3 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/github/zafarkhaja/semver/ParseException.java b/src/main/java/com/github/zafarkhaja/semver/ParseException.java
index f2966c8..6a9eb7c 100644
--- a/src/main/java/com/github/zafarkhaja/semver/ParseException.java
+++ b/src/main/java/com/github/zafarkhaja/semver/ParseException.java
@@ -32,6 +32,13 @@ package com.github.zafarkhaja.semver;
 public class ParseException extends RuntimeException {
 
     /**
+     * Constructs a {@code ParseException} instance with no error message.
+     */
+    public ParseException() {
+        super();
+    }
+
+    /**
      * Constructs a {@code ParseException} instance with an error message.
      *
      * @param message the error message
@@ -41,9 +48,30 @@ public class ParseException extends RuntimeException {
     }
 
     /**
-     * Constructs a {@code ParseException} instance with no error message.
+     * Constructs a {@code ParseException} instance with an error message
+     * and the cause exception.
+     *
+     * @param message the error message
+     * @param cause an exception that caused this exception
      */
-    public ParseException() {
+    public ParseException(String message, UnexpectedCharacterException cause) {
+        super(message);
+        initCause(cause);
+    }
 
+    /**
+     * Returns the string representation of this exception.
+     *
+     * @return the string representation of this exception
+     */
+    @Override
+    public String toString() {
+        Throwable cause = getCause();
+        String msg = getMessage();
+        if (msg != null) {
+            msg += ((cause != null) ? " (" + cause.toString() + ")" : "");
+            return msg;
+        }
+        return ((cause != null) ? cause.toString() : "");
     }
 }
diff --git a/src/main/java/com/github/zafarkhaja/semver/expr/UnexpectedTokenException.java b/src/main/java/com/github/zafarkhaja/semver/expr/UnexpectedTokenException.java
index 436a4e8..44973fd 100644
--- a/src/main/java/com/github/zafarkhaja/semver/expr/UnexpectedTokenException.java
+++ b/src/main/java/com/github/zafarkhaja/semver/expr/UnexpectedTokenException.java
@@ -66,7 +66,10 @@ public class UnexpectedTokenException extends ParseException {
      */
     @Override
     public String toString() {
-        String message = String.format("Unexpected token '%s'", unexpected);
+        String message = String.format(
+            "Unexpected token '%s'",
+            unexpected
+        );
         if (expected.length > 0) {
             message += String.format(
                 ", expecting '%s'",
diff --git a/src/main/java/com/github/zafarkhaja/semver/util/UnexpectedElementException.java b/src/main/java/com/github/zafarkhaja/semver/util/UnexpectedElementException.java
index 2f1ae31..f7bcaa4 100644
--- a/src/main/java/com/github/zafarkhaja/semver/util/UnexpectedElementException.java
+++ b/src/main/java/com/github/zafarkhaja/semver/util/UnexpectedElementException.java
@@ -84,7 +84,10 @@ public class UnexpectedElementException extends RuntimeException {
      */
     @Override
     public String toString() {
-        String message = String.format("Unexpected element '%s'", unexpected);
+        String message = String.format(
+            "Unexpected element '%s'",
+            unexpected
+        );
         if (expected.length > 0) {
             message += String.format(
                 ", expecting '%s'",

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jsemver.git



More information about the pkg-java-commits mailing list