/*
 * 版权所有 (c) 2010-2011，MiCode 开源社区 (www.micode.net)
 * 根据 Apache 许可证 2.0 版本（"许可证"）授权；
 * 除非符合许可证的规定，否则不得使用本文件。
 * 您可以从以下网址获取许可证副本：
 * http://www.apache.org/licenses/LICENSE-2.0
 * 除非适用法律要求或书面同意，本软件按"原样"分发，
 * 没有任何明示或暗示的保证或条件。
 * 详见许可证中规定的权限和限制。
 * （注：这是一份标准的Apache许可证2.0版本的开源声明）
 */
// 定义该异常类所在的包路径，属于Google任务模块的异常处理包
package net.micode.notes.gtask.exception;
import java.io.Serial;
/**
 * 自定义运行时异常，表示Google Task操作失败
 * 继承自RuntimeException，属于非受检异常(unchecked exception)
 * 主要用于GTasks同步过程中的操作失败场景
 */
public class ActionFailureException extends RuntimeException {
    // 序列化版本UID，用于控制反序列化的版本兼容性
    // 保持该值不变可以确保序列化/反序列化的一致性
    @Serial
    private static final long serialVersionUID = 4425249765923293627L;
    /**
     * 默认构造函数，创建不带详细信息的异常对象
     */
    public ActionFailureException() {
        super();  // 调用父类RuntimeException的无参构造
    }
    /**
     * 带错误信息的构造函数
     * @param paramString 错误描述信息，将显示在异常堆栈中
     */
    public ActionFailureException(String paramString) {
        super(paramString);  // 调用父类带消息的构造方法
    }
    /**
     * 带错误信息和原因的构造函数
     * @param paramString 错误描述信息
     * @param paramThrowable 导致该异常的原始Throwable对象（原因）
     */
    public ActionFailureException(String paramString, Throwable paramThrowable) {
        super(paramString, paramThrowable);  // 调用父类带cause的构造方法
    }
}
