千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

首页 视频教程 培训课程 师资团队 技术干货 常见问题 面试题 职场就业 零基础学Java 行业资讯
【热点话题】 Java技术干货 Java学习教程 Java学习笔记 Java面试题 Java培训问答 Java培训机构哪些好 Java职场就业
当前位置:Java培训  >  java技术干货  >  java培训教程分享:Java中用户如何自定义异常?

java培训教程分享:Java中用户如何自定义异常?

来源:千锋教育
发布人:qyf
时间: 2021-12-02 18:02:00 1638439320

  我们在学习java技术的时候应该有了解过,在java中是定义了很多的异常类的,虽然这些大量异常类可以帮助我们描述编程时出现的大部分异常情况,但是在程序开发中有时可能需要描述程序中特有的异常情况,例如在设计divide()方法时不允许被除数为负数。为了解决这样的问题,Java允许用户自定义异常,但自定义的异常类必须继承自Exception或其子类。接下来通过一个案例来学习自定义异常的创建,如例4-35所示。

  java培训教程分享:Java中用户如何自定义异常?

  //下面的代码是自定义一个异常类继承自 Except ion

  public DivideByMinusException extends Exception

  public DivideByMinusException (){

  super () //调用Exception无参的构造方法

  }

  public DivideByMinusException (String message){

  //调用 Exceptlon有参的构造方法

  }

  }

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

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

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

  例4-36 Example36.java

  public class Exanple36 (

  //下面的方法实现了两个整数相除

  public static int divide(int x,int y) throws DivideByMinuaException{

  if (y ==0){

  //使用throw关键字声明异常对象

  throw new DivideByMinuaException("除数是0")

  }

  int result. =x / yL; //定义一个变量resulc记录两个散相除的结果

  return result; //将结果返回

  publlc static void main(String[] args) {

  try {

  int result =divide (4, 0);

  System.out.println(result);

  } catch (DivideByMinuaException e) {

  Syatem.out.println(“捕获的异常信息为:" +e.getMesaage()):

  }

  }

  }

  运行结果如下图所示:

java

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

  以上就是为大家介绍的关于“Java中用户如何自定义异常?”的java培训教程,想要了解更多java设计培训的具体课程内容,就加入千锋教育的java设计交流群吧-811099962,群内会有专职的老师为你答疑解惑。另外群内不定期还会有免费直播课,由现役的讲师来授课。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>