Java中定义了大量的异常类,虽然这些异常类可以描述编程时出现的大部分异常情况,但是在程序开发中有时可能需要描述程序中特有的异常情况,例如在设计divide()方法时不允许被除数为负数。为了解决这样的问题,Java允许用户自定义异常,但自定义的异常类必须继承自Exception 或其子类。
我们先定义一个异常类继承自Exception,如下:

public class DivideByMinusException extends Exception{public DivideByMinusException() {super();//调用Exception的无参构造方法}public DivideByMinusException(String message) {super(message);//调用Exception的有参构造方法}}

在实际开发中.如果没有特殊的要求,自定义的异常类只需继承Exception类,在构造方法中使用super()语句调用Exception 的构造方法即可。

既然自定义了异常,那么该如何使用呢?这时就需要用到throw 关键字,在程序指定位置通过throw关键字抛出自定义的异常对象,然后对抛出的异常进行异常处理。

接下来重新对例中的divide()方法进行改写,在divide()方法中判断被除数是否为负数,如果为负数,就是用throw关键字向调用者抛出自定义的DivideByMinusException异常对象

如下:

public class Dmeo03 {//下面两种方法实现了两个整数相除public static int divide(int x,int y) throws DivideByMinusException{if(y<0) {//使用throw关键词声明异常对象throw new DivideByMinusException("除数<0");}int result = x/y;//定义一个变量result记录两个数相除的结果 return result;//将结果返回}public static void main(String[] args) {try {int result = divide(4,-2);System.out.println(result);}catch(DivideByMinusException e) {System.out.println("捕获的异常信息为:"+e.getMessage());}}}

运行结果:

divide()方法通过逻辑判断对除法运算的除数是否为0进行了判断,如果除数为0就使用throw关键字抛出自定义的DivideByMinusException异常对象,然后通过throws关键字抛出异常,并在最后通过try...catch语句捕获异常。从上图可以看出,程序执行后判断出除数为0,抛出了指定的异常信息。

感谢观看!!!

【Java异常】自定义异常相关推荐

  1. java——异常——自定义异常类

    自定义异常类 自定义异常类: java提供的异常类,不够我们使用,需要自己定义一些异常类 格式: public classXXXExcepiton extends Exception | Runtim ...

  2. java异常 — — 自定义异常

    三.自定义异常 3.1.概述 为什么需要自定义异常类: Java中不同的异常类分别表示看某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的此时我们根据自己业务的异常情况来定义异常类 ...

  3. java异常大全,如何处理异常,如何自定义异常

    此文章截图转载自:java异常大全!如何处理异常!如何自定义异常!_qq1328585964的博客-CSDN博客_java 异常大全s 我怕文章莫名消失所以转载下!!!我收藏的文章偶尔会没有

  4. java异常——异常分类+声明已检查异常+如何抛出异常+自定义异常类

    [0]README 0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java异常--异常分类+声明已检查异常+如何抛出异常+自定义异常类 的相关知识: 0.2)异 ...

  5. java catch自定义异常_java异常类-java自定义异常-嗨客网

    Java异常类教程 我们在 我们可以看到,在 Exception 表示的是程序中出现了问题,可以直接使用 try - catch 来捕获处理.Error 一般值 Java常见异常 类名 描述 IOEx ...

  6. Java异常详解及自定义异常

    我已经不用 try catch 处理异常了!太烦人了_51CTO博客_try catch处理什么异常 一.异常的概念 1.定义(什么是异常?) 异常是例外,是一个程序在执行期间发生的事件,它中断正在执 ...

  7. Java异常基础+原理解析+自定义异常

    Java异常基础+原理解析 1.什么是异常呀? 程序中的异常就好比人生病了,即再程序的运行过程中.出现非正常的情况,导致jvm非正常终止终止 异常的体系: 异常的的根类为java.lang.Throw ...

  8. java抛出自定义异常_10 个深恶痛绝的 Java 异常。。

    异常是 Java 程序中经常遇到的问题,我想每一个 Java 程序员都讨厌异常,一 个异常就是一个 BUG,就要花很多时间来定位异常问题. 什么是异常及异常的分类请看这篇文章:一张图搞清楚 Java ...

  9. java异常例子_java 异常的实例详解

    java 异常的实例详解 1.异常的定义:程序在运行时出现不正常情况. 异常的划分: Error:严重的问题,对于error一般不编写针对性的代码对其进行处理. Exception:非严重的问题,对于 ...

  10. java 异常 理解_java中的异常理解

    java异常是java提供的用于处理程序中错误的一种机制. 所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在). 设计良好地程序应该在程序异常发生时提 ...

最新文章

  1. ue4商城资源 Car Configurator Template 汽车配置器模板
  2. java多线程模型_1、java线程模型
  3. 连通图的判断(并查集, DFS, BFS)
  4. 2018.3.26 1501 二叉树最大宽度和高度
  5. AndroidStudio中调试时提示waiting for debugger的奇葩解决
  6. 大数运算(2)——大数加法
  7. 了解LSTM和GRU
  8. oracle jdk_两个Oracle JDK的故事
  9. nutshell_Nutshell中的Java 8语言功能-第2部分
  10. python有什么优秀功能_Python都有什么强大的功能
  11. 分数的大小比较优秀教案_《分数大小的比较》教学设计
  12. 学Java不得不看的技术书
  13. linux下的pdf工具下载,Linux系统下的PDF好帮手 LinuxPDFeditor
  14. 英文打字训练程序c语言,x86汇编实现英文打字练习软件
  15. 利用随机数生成器生成固定概率生成器
  16. 点云 ICP学习-IterativeClosestPoint
  17. python获取当前系统的日期_Python获取当前日期时间
  18. HTML5雨滴特效,晶莹剔透
  19. 《keep studying》————《持续学习》英译汉【istrangeboy精品英文励志短文系列】
  20. dirty cow的一点理解

热门文章

  1. JavaScript实现3秒后跳转页面
  2. 步进电机 - 构造与动作原理(二)
  3. 【Stable Diffusion】ControlNet基本教程(三)
  4. kotlin设置按钮不可点击_跟编程探索家学APP开发:设置APP首页的基础结构
  5. Redis数据结构——简单动态字符串
  6. 开咖啡店最重要的是什么?这些理论知识你需要掌握
  7. 枚举到底是个什么鬼类型?
  8. mac osx从10.13.6更新到10.14时提示“安装需要下载重要内容。该内容此时无法下载。请稍后再试。”
  9. 戴尔,更换固态硬盘后no bootable devices found
  10. 苹果最新发布的系统12.4版本在XR机型有严重bug,升级后无法支持电信卡,移动正常信号弱,本人升级后又刷回到12.3.1了。