You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2025/10/05 23:21:12 UTC
(commons-codec) 01/03: Add DecoderException.DecoderException(String, Object...)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-codec.git
commit 9245cf65a700bb6d5d78890dd039e7860a9133b5
Author: Gary D. Gregory <ga...@gmail.com>
AuthorDate: Thu Oct 2 18:18:09 2025 -0400
Add DecoderException.DecoderException(String, Object...)
---
src/changes/changes.xml | 1 +
.../java/org/apache/commons/codec/DecoderException.java | 14 ++++++++++++++
.../org/apache/commons/codec/DecoderExceptionTest.java | 7 +++++++
3 files changed, 22 insertions(+)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 76282c7c..dd213820 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -52,6 +52,7 @@ The <action> type attribute can be add,update,fix,remove.
<!-- ADD -->
<action type="add" dev="ggregory" due-to="Fredrik Kjellberg, Gary Gregory">Add org.apache.commons.codec.digest.CRC16.</action>
<action type="add" dev="ggregory" due-to="Gary Gregory">Add builders to org.apache.commons.codec.digest streams and deprecate some old constructors.</action>
+ <action type="add" dev="ggregory" due-to="Gary Gregory">Add DecoderException.DecoderException(String, Object...).</action>
<!-- UPDATE -->
<action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 85 to 88.</action>
<action type="update" dev="ggregory" due-to="Gary Gregory">[test] Bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0.</action>
diff --git a/src/main/java/org/apache/commons/codec/DecoderException.java b/src/main/java/org/apache/commons/codec/DecoderException.java
index 4fed6663..98ba6593 100644
--- a/src/main/java/org/apache/commons/codec/DecoderException.java
+++ b/src/main/java/org/apache/commons/codec/DecoderException.java
@@ -50,6 +50,20 @@ public class DecoderException extends Exception {
super(message);
}
+ /**
+ * Constructs a new exception with the specified detail message. The cause is not initialized, and may subsequently be initialized by a call to
+ * {@link #initCause}.
+ *
+ * @param message The format message which is saved for later retrieval by the {@link #getMessage()} method.
+ * @param args the format arguments to use.
+ *
+ * @see String#format(String, Object...)
+ * @since 1.20
+ */
+ public DecoderException(final String message, Object... args) {
+ super(String.format(message, args));
+ }
+
/**
* Constructs a new exception with the specified detail message and cause.
* <p>
diff --git a/src/test/java/org/apache/commons/codec/DecoderExceptionTest.java b/src/test/java/org/apache/commons/codec/DecoderExceptionTest.java
index c9c19f2c..47a3c59a 100644
--- a/src/test/java/org/apache/commons/codec/DecoderExceptionTest.java
+++ b/src/test/java/org/apache/commons/codec/DecoderExceptionTest.java
@@ -45,6 +45,13 @@ class DecoderExceptionTest {
assertNull(e.getCause());
}
+ @Test
+ void testConstructorStringObjectArray() {
+ final DecoderException e = new DecoderException("Hello %s", "World!");
+ assertEquals("Hello World!", e.getMessage());
+ assertNull(e.getCause());
+ }
+
@Test
void testConstructorStringThrowable() {
final DecoderException e = new DecoderException(MSG, t);