上篇文章介绍了java中异常机制,本文来演示一下自定义异常

  上篇文章讲到非运行时异常和运行时异常,下面我们来看一下简单实现代码。

首先,先来看下演示目录

非运行时异常 也称 检查时异常

  1. public class MyException extends Exception {
  2.  
  3. /**
  4. * 构造一个基本异常.
  5. * @param message 信息描述
  6. */
  7. public MyException(String message) {
  8. super(message);
  9. }
  10.  
  11. }

运行时异常

  1. public class MyRunTimeException extends RuntimeException {
  2.  
  3. /**
  4. * 构造一个基本异常.
  5. * @param message 信息描述
  6. */
  7. public MyRunTimeException(String message) {
  8. super(message);
  9. }
  10.  
  11. }

测试类

  1. public class ExceptionTest {
  2. public void execute(String mes) throws MyException {
  3. System.out.println("execute...");
  4. if ("true".equals(mes)) {
  5. throw new MyException("参数不能为 true");
  6. // 如果使用这个类来测试运行时异常可以不用抛出异常
  7. // RuntimeException 是Java 虚拟机正常运行期间抛出的异常的超类 任何子类都无需在 throws 子句中进行声明
  8. // throw new MyRunTimeException("参数不能为 true");
  9. }
  10. }
  11. }

Main方法

  1. public class Main {
  2. public static void main(String[] args) {
  3. ExceptionTest exceptionTest = new ExceptionTest();
  4. try {
  5. exceptionTest.execute("true");
  6. } catch (MyException e) {
  7. e.printStackTrace();
  8. }
  9. String[] nums = {"123", "456", "-1"};
  10. for (int i = 0; i < nums.length; i++) {
  11. if ("-1".equals(nums[i])) {
  12. throw new MyRunTimeException("不能为负数哦!");
  13. } else {
  14. System.out.println(nums[i]);
  15. }
  16. }
  17. }
  18. }

执行结果

  非运行时异常

  运行时异常

 本文介绍的只是简单的一个示例,可根据具体情况实现!

Java 异常(二) 自定义异常的更多相关文章

  1. Java异常之自定义异常

    哎呀,妈呀,又出异常了!俗话说:"代码虐我千百遍,我待代码如初恋". 小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常.Java异 ...

  2. Java异常(二) 《Effective Java》中关于异常处理的几条建议

    概要 本章是从<Effective Java>摘录整理出来的关于异常处理的几条建议.内容包括:第1条: 只针对不正常的情况才使用异常第2条: 对于可恢复的条件使用被检查的异常,对于程序错误 ...

  3. 讲一讲java异常及自定义异常

    1.异常,说白了.两种,一种就是就是不能让代码通过编译的异常.另一种就是程序运行期间出现的异常.异常就是错误,只要出现异常,程序就不会向下运行了.就不会执行后面的代码了.这时候就可以通过显示statc ...

  4. java 异常二

    一 捕获异常try…catch…finally 捕获:Java中对异常有针对性的语句进行捕获,可以对出现的异常进行指定方式的处理 捕获异常格式: try { //需要被检测的语句. } catch(异 ...

  5. Java异常02——自定义异常

    Error与Exception与自定义异常 Error与Exception Error Exception 自定义异常 快捷键: ctrl + alt + t  package exception.d ...

  6. Java异常机制,自定义异常以及spring boot异常设计方案

    异常机制: 异常概念 异常分类 异常的处理方法 自定义异常 springboot 的异常解决方案

  7. Java异常(三) 《Java Puzzles》中关于异常的几个谜题

    概要 本章介绍<Java Puzzles>中关于异常的几个谜题.这一章都是以代码为例,相比上一章看起来更有意思.内容包括:谜题1: 优柔寡断谜题2: 极端不可思议谜题3: 不受欢迎的宾客谜 ...

  8. Java异常系列

    Java异常(一) Java异常简介及其架构 Java异常(二) <Effective Java>中关于异常处理的几条建议 Java异常(三) <Java Puzzles>中关 ...

  9. java提高篇(十七)-----异常(二)

          承接上篇博文:java提高篇-----异常(一) 五.自定义异常 Java确实给我们提供了非常多的异常,但是异常体系是不可能预见所有的希望加以报告的错误,所以Java允许我们自定义异常来表 ...

  10. “全栈2019”Java异常第二十章:自定义异常详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

随机推荐

  1. SpringBoot定时任务,总有一款适合你

    title: SpringBoot定时任务,总有一款适合你 date: 2019-09-28 16:19:10 tags: - springboot - 定时任务 categories: java - ...

  2. Maven 梳理 -scope属性

    在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值: * compile,缺省值,适用于所有阶 ...

  3. Python IAQ中文版 - Python中少有人回答的问题

    Python中少有人回答的问题 The Python IAQ: Infrequently Answered Questions 1 Q: 什么是"少有人回答的问题(Infrequently ...

  4. 快学Scala 第八课 (嵌套类)

    嵌套类: class Human { class Student{ val age = 10 } } object ClassDemo { def main(args: Array[String]): ...

  5. 三天讲透SpringBoot-初识基础使用

    这次我们来说一下我们的SpringBoot,现在SpringBoot已经成为趋势,在我这里我用三篇文章的形式来讲清楚我们的SpringBoot,大致分为,第一篇讲搭建,基本使用,第二篇三方集成,自动装 ...

  6. Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...

  7. spring boot使用vue+vue-router构建单页面应用

    spring boot http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ vue https: ...

  8. RMAN详细教程(二):备份、检查、维护、恢复

    RMAN详细教程(一):基本命令代码 一.创建增量备份 增量备份级别为0-4,但为方便备份管理,oracle建议只限于0级和1级. 1.差异增量备份(differential incremental ...

  9. oracle查询当前用户下所有的表,包括所有的字段

    oracle查询当前用户下所有的表,包括所有的字段 背景: ​ 前两天接到一个需求,做一个展示所有表名,表备注,表数据,表字段数,点击查看按钮查看字段名和注释,支持导出. 在Oracle中,可用使用视 ...

  10. BZOJ 1345: [Baltic2007]序列问题Sequence

    1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1180  Solved: 633[Subm ...