当前位置: 首页 > news >正文

异常处理(6)自定义异常

异常处理(6)自定义异常类

1、自定义异常要求:

(1)要继承一个异常类型

 自定义一个编译时异常类型:自定义类继承java.lang.Exception

 自定义一个运行时异常类型:自定义类继承java.lang.RuntimeException

(2)建议大家提供至少两个构造器,一个是无参构造,一个是(String message)构造器。

(3)自定义异常需要提供serialVersionUID

自定义异常类的使用:

  1. 自定义异常最重要的是异常类的名字和message属性。当异常出现时,可以根据名字判断异常类型。比如:TeamException("成员已满,无法添加");
  2. 自定义异常对象只能手动抛出。抛出后由try-catch处理,也可以用throws给调用者处理。

例如:

public class MyException extends RuntimeException{public MyException() {}public MyException(String message) {super(message);}
}
public class Person {private String name;private int lifeValue;public Person() {}public Person(String name, int lifeValue) {this.name = name;setLifeValue(lifeValue);}public String getName() {return name;}public int getLifeValue() {return lifeValue;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", lifeValue=" + lifeValue +'}';}public void setLifeValue(int lifeValue) {if(lifeValue>=0)this.lifeValue = lifeValue;else {throw new MyException("This lifeValue couldn't be negative."+lifeValue);}}public static void main(String[] args) {Person p1 = new Person("Qum",18);System.out.println(p1.toString());Person p2 = new Person("Dit",-19999);System.out.println(p2.toString());}
}

http://www.lryc.cn/news/492651.html

相关文章:

  • 微软正在测试 Windows 11 对第三方密钥的支持
  • 时间的礼物:如何珍视每一刻
  • 初级 Python 数据脱敏技术及应用
  • 1063 Set Similarity (25)
  • Web登录页面设计
  • 【大数据学习 | Spark】Spark on hive与 hive on Spark的区别
  • 软件测试丨Pytest 第三方插件与 Hook 函数
  • Python学习35天
  • IO基础(字符集与字符流)
  • LLM应用-prompt提示:RAG query重写、相似query生成 加强检索准确率
  • [python脚本处理文件入门]-17.Python如何操作Excel文件的读写
  • 深度理解进程的概念(Linux)
  • 【C++】STL容器中的比较函数对象
  • 深度学习基础02_损失函数BP算法(上)
  • 6.584-Lab4A
  • 语义版本控制
  • 深入理解HTML基本结构:构建现代网页的基石
  • 一体化数据安全平台uDSP 入选【年度创新安全产品 TOP10】榜单
  • 【机器学习】机器学习的基本分类-监督学习(Supervised Learning)
  • Oracle之提高PLSQL的执行性能
  • [VSCode] vscode下载安装及安装中文插件详解(附下载文件)
  • PHP中类名加双冒号的作用
  • 前端编程训练 异步编程篇 请求接口 vue与react中的异步
  • 【kafka03】消息队列与微服务之Kafka 读写数据
  • 【分布式系统】唯一性ID的实现
  • 哪里能找到好用的动物视频素材 优质网站推荐
  • SRAM芯片数据采集解决方案
  • 【贪心算法第七弹——674.最长连续递增序列(easy)】
  • [AI] 知之AI推出3D智能宠物:助力语言学习与口语提升的新选择
  • Android 14之HIDL转AIDL通信