目录

一、程序运行截图

二、自定义异常

1、异常定义

2、抛出异常

3、生成异常对象

4、错误信息显示

三、代码


一、程序运行截图

二、自定义异常

1、异常定义

(1)自定义异常需要继承exception异常类

(2)构造方法可以使用super传入string参数,该参数表示错误信息

自定义异常例如:

class NegativeException extends Exception{public NegativeException(){}public NegativeException(String s){super(s);}
}

2、抛出异常

(1)在正常的自定义类构造方法中,可以抛出自定义异常,例如(仅为举例,无法运行,throws关键字用于抛出异常)

public chushu(float number1,float number2) throws NegativeException,ZeroException

3、生成异常对象

(1)在构造方法中,满足某项条件,可以生成异常对象,用于后续创建对象出现异常时进入异常类,传入的参数为自定义异常类构造方法所需的string参数,例如(仅为举例,无法运行,注意throw与throws的区别)

if(number2==0){throw new ZeroException("The divisor, "+(int)number2+",could not be zero!");
}

4、错误信息显示

(1)在异常报错时,我们希望能够出现自定义提示字符

(2)用getmessage方法获取自定义异常类构造方法所传入的string参数,作为异常信息输出,例如

catch(NegativeException e){System.out.println(e.getMessage());
}

三、代码

import java.util.Scanner;
class NegativeException extends Exception{public NegativeException(){}public NegativeException(String s){super(s);}
}
class ZeroException extends Exception{public ZeroException(){}public ZeroException(String s){super(s);}
}
public class chushu {private float num1;private float num2;public chushu(float number1,float number2) throws NegativeException,ZeroException{if(number2==0){throw new ZeroException("The divisor, "+(int)number2+",could not be zero!");}else if(number2<0){throw new NegativeException("The divisor, "+(int)number2+", could not be negative!");}else{this.num1 = number1;this.num2 = number2;}}public float xiangchu(){return num1/num2;}public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("Please input first number: ");float x = s.nextFloat();System.out.println("Please input second number: ");float y = s.nextFloat();try{chushu c = new chushu(x, y);System.out.println("Divisor is : "+c.xiangchu());}catch(ZeroException e){System.out.println(e.getMessage()); }catch(NegativeException e){System.out.println(e.getMessage());}finally{System.out.print("finally!");}s.close();}
}

实验六--除法自定义异常相关推荐

  1. python实验六到十二作业(待完善)

    ###############实验六 面向对象的程序设计############### #####第一题 # class circle: # def __init__(self,yuanxing, r ...

  2. 实验六 快速生成树配置

    实验六 快速生成树配置 1.准备工作: 工具:1台3层交换机,1台2层交换机,网线 (1)      开始 --> 控制面板 --> 程序 --> 程序和功能 --> 打开或关 ...

  3. 建立计算机系学生视图,实验六 视图的操作.doc

    实验六 视图的操作 实验六 视图的操作 一.实验目的 1.理解的概念. .掌握.SQL语句创建视图,掌握查询分析器的使用 1.语句格式 CREATE VIEW [( [,]-)] AS [WITH C ...

  4. mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf

    实验六 SQL语言数据查询语言DQL 实验六 SQL 语言数据查询语言DQL 一.实验目的 数据查询语言指对数据库中的数据查询.统计.分组.排序等操作.查询语 句可以分为简单查询.连接查询.嵌套查询和 ...

  5. 滞后超前校正控制器的设计和matlab仿真 静态速度误差系数为10,自控实验六 基于频域的串联校正控制器设置 - GXUZF.COM - 林澈思的茶...

    广西大学电气工程学院 <自动控制理论>实验报告 广西大学电气工程学院 <自动控制理论>实验报告 成绩 教师签字 学生姓名 赵帆 学号 17021***** 专业班级 电自171 ...

  6. 20155201 网络攻防技术 实验六 信息搜集与漏洞

    20155201 网络攻防技术 实验六 信息搜集与漏洞 一.实践内容 各种搜索技巧的应用 DNS IP注册信息的查询 基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 漏洞扫描: ...

  7. java实验七输入输出流_实验六_Java的输入输出流

    JAVA的输入输出流 实验六 Java的输入输出流 实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写.二进制文件读写 实验环境 JDK1.4以上版本, Eclipse集成开发环境 ...

  8. 计算机网络 实验六 静态路由配置,实验六-静态路由配置.doc

    实验六-静态路由配置 实验报告书 课程名称 计算机网络技术与应用 实验题目 实验六:静态路由配置 专业班级 2010级信息管理与信息系统2班 学 号 37号 姓 名 肖丹妮 指导教师 赵圆圆老师 计算 ...

  9. 实验六 Linux进程编程,Linux系统编程实验六:进程间通信

    <Linux系统编程实验六:进程间通信>由会员分享,可在线阅读,更多相关<Linux系统编程实验六:进程间通信(10页珍藏版)>请在人人文库网上搜索. 1.实验六:进程间通信l ...

最新文章

  1. 高逼格的 SQL 写法:行行比较,别问为什么,问就是逼格高。。
  2. linux uvc 支持的设备,摄像头是否支持uvc
  3. java闭包矩阵_深刻理解Java闭包概念
  4. 【转载】在Linux CentOS中安装VSCode用于C++学习,亲测可用
  5. Ucenter会员同步通讯登录原理(转)
  6. Web Application:Exploded和Web Application:Archive
  7. pythonfor循环语句例题_python循环语句的使用练习题
  8. shell中sed -i特殊字符
  9. CardLayout布局练习(小的图片浏览器)
  10. 基于Linux和MiniGUI的嵌入式系统软件开发指南(二)
  11. vue js 反编译_学会了Vue,前端面试却没找到工作?
  12. 不学无数——SpringBoot入门VI
  13. sqlite中字符串含有单引号的处理
  14. 常用的js自定义方法 -- hasClass addClass removeClass getElementsByClass
  15. OSChina 周六乱弹 —— 知道今天的乱弹为什么会迟发吗?
  16. logstash采集中文乱码
  17. MCMC采样算法理解
  18. GB/T 35273—2020《信息安全技术个人信息安全规范》正式发布
  19. java毕业设计水果网店管理系统mybatis+源码+调试部署+系统+数据库+lw
  20. 2021全国大学生电子设计竞赛F题参赛简记

热门文章

  1. 注意!华为开始招募了
  2. iOS 15.4 出现耗电异常,苹果官方回应
  3. 真革命!老罗发布坚果R1后,世界再无锤子
  4. ff 15 调用函数与e8调用函数的区别 call的两种二进制命令
  5. 全国青年男女快宅出精神病了…哈哈哈哈
  6. DeepFake换头术升级:浙大新模型,GAN出一头秀发
  7. vue3 切屏事件监听(考试防作弊)
  8. 计算机辅助教学系统论文,计算机应用论文计算机辅助教学系统的开发与应用
  9. Oracle EBS OM RMA销售退货异常处理(Datafix)
  10. z12_852. 山脉数组的峰顶索引