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-compress.git

commit 9592c977a1981d8ce1c67ddb30adae05a6197988
Author: Gary D. Gregory <garydgreg...@gmail.com>
AuthorDate: Fri Apr 25 09:04:18 2025 -0400

    DumpArchiveException now extends ArchiveException instead of IOException
    (ArchiveException extends IOException)
    
    - Add ArchiveException.ArchiveException(String, Throwable)
    - Add ArchiveException.ArchiveException(Throwable)
---
 src/changes/changes.xml                            |  3 ++
 .../apache/commons/compress/CompressException.java | 17 +++++++++++
 .../compress/archivers/ArchiveException.java       | 34 ++++++++++++++++++++++
 .../archivers/dump/DumpArchiveException.java       |  4 +--
 4 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 20bc9456f..f0e23bcfa 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -89,6 +89,7 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="fix" dev="ggregory" due-to="Alexis Jehan, Gary 
Gregory">org.apache.commons.compress.harmony.unpack200.Archive.unpack() should 
not log to system out (the console).</action>
       <action type="fix" dev="Sebb" due-to="aSemy">[site] Fix minor zip docs 
type: remove extraneous 'a' #665.</action>
       <action type="fix" dev="ggregory" due-to="Zaki, Gary Gregory">Throw a 
better exception in 
org.apache.commons.compress.archivers.sevenz.SevenZFile.readFilesInfo(ByteBuffer,
 Archive).</action>
+      <action type="fix" dev="ggregory" due-to="Gary 
Gregory">DumpArchiveException now extends ArchiveException instead of 
IOException (ArchiveException extends IOException).</action>
       <!-- ADD -->
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
GzipParameters.getModificationInstant().</action>
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
GzipParameters.setModificationInstant(Instant).</action>
@@ -120,6 +121,8 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="add" dev="ggregory" due-to="Gary Gregory, David Walluck, 
Piotr P. Karwasz">Add org.apache.commons.compress.compressors.xz.ZstdConstants 
#666.</action>
       <action type="add" dev="ggregory" due-to="Gary Gregory, Zaki">Add 
org.apache.commons.compress.archivers.ArchiveException.requireNonNull(T, 
Supplier&lt;String&gt;).</action>
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.compress.compressors.CompressorException as the root for all 
custom exceptions ArchiveException and CompressorException.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
ArchiveException.ArchiveException(String, Throwable).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
ArchiveException.ArchiveException(Throwable).</action>
       <!-- UPDATE -->
       <action type="update" dev="sebb">Bump Commons Parent from 79 to 
81</action>
       <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump org.apache.commons:commons-parent from 72 to 79 #563, #567, #574, 
#582, #587, #595.</action>
diff --git a/src/main/java/org/apache/commons/compress/CompressException.java 
b/src/main/java/org/apache/commons/compress/CompressException.java
index b2821c91d..2ae933edb 100644
--- a/src/main/java/org/apache/commons/compress/CompressException.java
+++ b/src/main/java/org/apache/commons/compress/CompressException.java
@@ -56,6 +56,13 @@ protected static <T, E extends Throwable> T 
requireNonNull(final Class<? super E
         return obj;
     }
 
+    /**
+     * Constructs an {@code CompressException} with {@code null} as its error 
detail message.
+     */
+    public CompressException() {
+        // empty
+    }
+
     /**
      * Constructs a new exception with the specified detail message. The cause 
is not initialized.
      *
@@ -75,4 +82,14 @@ public CompressException(final String message) {
     public CompressException(final String message, final Throwable cause) {
         super(message, cause);
     }
+
+    /**
+     * Constructs a {@code CompressException} with the specified cause and a 
detail message.
+     *
+     * @param cause The cause (which is saved for later retrieval by the 
{@link #getCause()} method). (A null value is permitted, and indicates that the 
cause
+     *              is nonexistent or unknown.)
+     */
+    public CompressException(final Throwable cause) {
+        super(cause);
+    }
 }
diff --git 
a/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java 
b/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java
index b04998ab1..3258aac82 100644
--- a/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java
+++ b/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java
@@ -44,6 +44,15 @@ public static <T> T requireNonNull(final T obj, final 
Supplier<String> messageSu
         return CompressException.requireNonNull(ArchiveException.class, obj, 
messageSupplier);
     }
 
+    /**
+     * Constructs an {@code ArchiveException} with {@code null} as its error 
detail message.
+     *
+     * @since 1.28.0
+     */
+    public ArchiveException() {
+        // empty
+    }
+
     /**
      * Constructs a new exception with the specified detail message. The cause 
is not initialized.
      *
@@ -59,8 +68,33 @@ public ArchiveException(final String message) {
      * @param message The message (which is saved for later retrieval by the 
{@link #getMessage()} method).
      * @param cause   The cause (which is saved for later retrieval by the 
{@link #getCause()} method). A null value indicates that the cause is 
nonexistent or
      *                unknown.
+     * @deprecated Use {@link #ArchiveException(String, Throwable)}.
      */
+    @Deprecated
     public ArchiveException(final String message, final Exception cause) {
         super(message, cause);
     }
+
+    /**
+     * Constructs a new exception with the specified detail message and cause.
+     *
+     * @param message The message (which is saved for later retrieval by the 
{@link #getMessage()} method).
+     * @param cause   The cause (which is saved for later retrieval by the 
{@link #getCause()} method). A null value indicates that the cause is 
nonexistent or
+     *                unknown.
+     * @since 1.28.0
+     */
+    public ArchiveException(final String message, final Throwable cause) {
+        super(message, cause);
+    }
+
+    /**
+     * Constructs a {@code ArchiveException} with the specified cause and a 
detail message.
+     *
+     * @param cause The cause (which is saved for later retrieval by the 
{@link #getCause()} method). (A null value is permitted, and indicates that the 
cause
+     *              is nonexistent or unknown.)
+     * @since 1.28.0
+     */
+    public ArchiveException(final Throwable cause) {
+        super(cause);
+    }
 }
diff --git 
a/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveException.java
 
b/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveException.java
index a908be7d8..cdac1941b 100644
--- 
a/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveException.java
+++ 
b/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveException.java
@@ -19,12 +19,12 @@
 
 package org.apache.commons.compress.archivers.dump;
 
-import java.io.IOException;
+import org.apache.commons.compress.archivers.ArchiveException;
 
 /**
  * Signals that an dump archive exception of some sort has occurred.
  */
-public class DumpArchiveException extends IOException {
+public class DumpArchiveException extends ArchiveException {
 
     private static final long serialVersionUID = 1L;
 

Reply via email to