/*
 * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.micode.notes.gtask.exception;

/**
 * 自定义异常类 `NetworkFailureException`，继承自 `Exception` 类。
 * 用于表示网络操作失败时抛出的异常。
 * 通常在处理网络请求或其他与网络相关的操作时，网络失败或连接问题会导致该异常被抛出。
 */
public class NetworkFailureException extends Exception {
    
    // 该字段用于保证序列化和反序列化时的版本兼容性。
    private static final long serialVersionUID = 2107610287180234136L;

    /**
     * 默认构造方法，调用父类 `Exception` 的无参构造方法。
     * 该构造方法适用于没有传入具体错误信息的场景。
     */
    public NetworkFailureException() {
        super();
    }

    /**
     * 带有错误信息的构造方法，调用父类 `Exception` 的构造方法，传递具体的错误信息。
     * 
     * @param paramString 错误信息，描述网络失败的具体原因。
     */
    public NetworkFailureException(String paramString) {
        super(paramString);
    }

    /**
     * 带有错误信息和引起异常的根本原因（另一个 `Throwable` 对象）的构造方法。
     * 调用父类 `Exception` 的构造方法，传递错误信息和根本原因。
     * 
     * @param paramString 错误信息，描述网络失败的具体原因。
     * @param paramThrowable 引发当前异常的根本原因，通常是另一个异常。
     */
    public NetworkFailureException(String paramString, Throwable paramThrowable) {
        super(paramString, paramThrowable);
    }
}
