package com.xmomen.module.resource.api;

/**
 * DfsException 类继承自 RuntimeException，用于表示在分布式文件系统（DFS）操作过程中出现的异常。
 */
public class DfsException extends RuntimeException {

    // 序列化版本号，用于确保在反序列化时类的版本一致性
    private static final long serialVersionUID = 1497374765949093902L;

    /**
     * 异常代码，用于标识不同类型的异常。
     * 异常代码的具体含义如下：
     * - IOException 对应代码 100
     * - FileNotFoundException 对应代码 200
     * - 来自 DFS 的异常（例如 FastDFS 抛出的异常、自定义异常 MyException）对应代码 300
     * - 其他异常对应代码 400
     */
    private String code;

    // 异常的详细描述信息
    private String message;

    /**
     * 构造函数，用于创建一个 DfsException 实例。
     * @param code 异常代码，用于标识异常类型
     * @param message 异常的详细描述信息
     */
    public DfsException(String code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 获取异常代码。
     * @return 异常代码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置异常代码。
     * @param code 要设置的异常代码
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取异常的详细描述信息。
     * @return 异常的详细描述信息
     */
    public String getMessage() {
        return message;
    }

    /**
     * 设置异常的详细描述信息。
     * @param message 要设置的异常详细描述信息
     */
    public void setMessage(String message) {
        this.message = message;
    }

}