|
|
|
@ -0,0 +1,88 @@
|
|
|
|
|
/*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
这段代码定义了一个名为 NetworkFailureException 的自定义异常类,继承自 Java 的 Exception 类。
|
|
|
|
|
它位于包 net.micode.notes.gtask.exception 中,并且使用了 Apache 2.0 开源许可证。
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
//包声明导入
|
|
|
|
|
//这行代码声明了类 NetworkFailureException 所在的包:
|
|
|
|
|
// net.micode.notes.gtask.exception。包用于组织类和接口,避免命名冲突,并可以根据需要进行访问控制。
|
|
|
|
|
|
|
|
|
|
package net.micode.notes.gtask.exception;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
NetworkFailureException 继承自 Exception 类,这意味着它是一个 检查异常(checked exception)。
|
|
|
|
|
继承自 Exception 表示这是一个受检异常,调用者必须处理这种异常,通常通过 try-catch 块捕获或在方法签名中声明 throws。
|
|
|
|
|
*/
|
|
|
|
|
public class NetworkFailureException extends Exception {
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
serialVersionUID 是用来确保类的序列化和反序列化过程中的版本兼容性。
|
|
|
|
|
当对象通过网络或 I/O 流进行序列化时,serialVersionUID 用于验证版本的匹配。
|
|
|
|
|
如果序列化的版本和类的版本不匹配,将抛出 InvalidClassException。
|
|
|
|
|
这个常量的值是自动生成的,也可以根据需要手动更改。
|
|
|
|
|
*/
|
|
|
|
|
private static final long serialVersionUID = 2107610287180234136L;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
构造默认函数
|
|
|
|
|
这个构造函数是默认构造函数,调用父类 Exception 的无参构造函数。表示没有提供错误信息时抛出该异常。
|
|
|
|
|
*/
|
|
|
|
|
public NetworkFailureException() {
|
|
|
|
|
super();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
带消息的构造函数
|
|
|
|
|
这个构造函数允许传入一个字符串参数 paramString,用于描述异常的具体信息。这会调用父类 Exception 的带消息的构造函数。
|
|
|
|
|
*/
|
|
|
|
|
public NetworkFailureException(String paramString) {
|
|
|
|
|
super(paramString);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
带消息和原因的构造函数
|
|
|
|
|
这个构造函数允许传入一个字符串和一个 Throwable 对象,paramThrowable 表示导致当前异常的根本原因,通常用于链式异常。
|
|
|
|
|
Throwable 是所有异常类的父类,表示抛出的异常,可以是 Exception 或 Error。
|
|
|
|
|
*/
|
|
|
|
|
public NetworkFailureException(String paramString, Throwable paramThrowable) {
|
|
|
|
|
super(paramString, paramThrowable);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
受检异常(Checked Exception)的意义
|
|
|
|
|
NetworkFailureException 继承自 Exception,它是一个 检查异常(checked exception)。与 RuntimeException 类的未检查异常不同,检查异常要求开发者在编译时处理它们。
|
|
|
|
|
对于网络相关的操作(例如网络请求、数据传输等),如果出现故障,通常会抛出 NetworkFailureException 来表明操作未成功。这类异常是检查性的,意味着调用者必须要么捕获它,要么在方法签名中声明 throws 以传递该异常。
|
|
|
|
|
使用场景
|
|
|
|
|
NetworkFailureException 类可能用于表示网络相关的操作失败的情形。例如:
|
|
|
|
|
|
|
|
|
|
如果应用程序在进行网络请求时遇到故障(如超时、连接失败、无法访问服务器等),可以抛出 NetworkFailureException。
|
|
|
|
|
该异常可以携带具体的错误信息和/或网络失败的根本原因,帮助开发者定位问题。
|
|
|
|
|
总结
|
|
|
|
|
NetworkFailureException 是一个自定义的检查异常类,继承自 Exception。
|
|
|
|
|
它有三个构造函数,分别支持无参构造、传递错误信息、以及传递错误信息和原因异常。
|
|
|
|
|
由于它是 Exception 的子类,它是一个受检异常,要求调用者显式地捕获或声明。
|
|
|
|
|
这个异常类可能用于表示网络相关的故障或错误,可以提供详细的错误信息和根本原因。
|
|
|
|
|
*/
|