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

java学习--自定义异常

Java标准库定义的常用异常包括

Exception
├─ RuntimeException
│  ├─ NullPointerException
│  ├─ IndexOutOfBoundsException
│  ├─ SecurityException
│  └─ IllegalArgumentException
│     └─ NumberFormatException
├─ IOException
│  ├─ UnsupportedCharsetException
│  ├─ FileNotFoundException
│  └─ SocketException
├─ ParseException
├─ GeneralSecurityException
├─ SQLException
└─ TimeoutException

自定义异常

在一个大型项目中,可以自定义新的异常类型,但是,保持一个合理的异常继承体系是非常重要的。
一个常见的做法是自定义一个BaseException作为“根异常”,然后,派生出各种业务类型的异常。

BaseException需要从一个适合的Exception派生,通常建议从RuntimeException派生:
public class BaseException extends RuntimeException {
}///然后其他的异常就可以从BaseException派生出来
public class UserNotFoundException extends BaseException {
}
public class LoginFailedException extends BaseException {
}

自定义的异常规范

自定义的BaseException应该提供多个构造方法:
public class BaseException extends RuntimeException {public BaseException() {super();}public BaseException(String message, Throwable cause) {super(message, cause);}public BaseException(String message) {super(message);}public BaseException(Throwable cause) {super(cause);}
}
上述构造方法实际上都是原样照抄RuntimeException。这样,抛出异常的时候,就可以选择合适的构造方法。通过IDE可以根据父类快速生成子类的构造方法。
http://www.jsqmd.com/news/808407/

相关文章:

  • 终极指南:如何用React JSON Schema Form快速构建专业表单设计语言
  • AMD锐龙系统调试工具终极指南:深入掌握SMU、PCI与MSR硬件级调优
  • 终极Vim分屏体验:vim-airline轻量级状态栏与标签栏全攻略
  • MPU6050数据老飘?手把手教你用MATLAB分析信号,自校准一阶互补滤波参数
  • 发期刊别再踩坑了!国产AI已全面领先,实测8款AI期刊论文工具帮你“一次录用” - 逢君学术-AI论文写作
  • 2026年贵州旅行社/旅游团/私人订制游/亲子游/包车服务哪家好?五大口碑服务商深度推荐 - 深度智识库
  • 告别手动计算!用Allegro命令行+Padstack Editor,5分钟搞定一个芯片PCB封装
  • 从零开始使用Taotoken CLI工具一键配置多款开发环境
  • TrollInstallerX技术深度解析:iOS 14.0-16.6.1系统权限获取完全指南
  • 金价1013元/克新高,赣州黄金回收机构评测:福正美多项指标领先 - 福正美黄金回收
  • Project Eye:守护视力的终极免费Windows护眼工具完整指南
  • 2026年去AI痕迹实战指南:15款降AI工具实测解析,亲测有效降低AIGC率至5%(含免费版) - 降AI实验室
  • AI编程助手代码质量守护:Quality Guardian MCP实战指南
  • nginx按日切割日志
  • ExifToolGUI终极指南:5分钟掌握照片元数据批量管理
  • AI Agent配置安全实践:用Config-Guard为自动化变更加锁
  • RT-Thread串口高效数据接收实战:中断与DMA模式深度解析
  • Linux实战——John the Ripper部署与排错指南
  • 2026年山东酒店袋泡茶OEM代加工源头厂家对比指南|洪壶农业官方供应链方案 - 精选优质企业推荐官
  • 凰标:让草根创作不再被资本随意定义@凤凰标志
  • 2025届毕业生推荐的六大AI写作助手解析与推荐
  • PG302 QDMA Subsystem for PCI Express v4.0 Ch.2 架构解析:从队列模型到高性能数据传输
  • Python还是Java?小白程序员必备!收藏这份6个月大模型应用开发学习路线图(附实战项目)
  • 江苏庭院设计公司哪家专业? - 中媒介
  • 微信立减金回收5条指南 - 购物卡回收找京尔回收
  • FABRK全栈框架:模块化设计与AI辅助开发实战解析
  • AutoJs6深度解析:Android自动化脚本引擎架构剖析与实战指南
  • 别墅花园设计施工哪家效果好? - 中媒介
  • 告别内存焦虑!用Windows任务计划+Kettle脚本实现后台定时跑数(附完整.bat脚本)
  • Arccos Golf数据获取与Python分析实战:开源工具包逆向工程API