JAVA程序设计----异常
小结走起:
1.什么是异常?
异常是在程序执行期间中断指令的正常流程的事件。
2.什么是必检异常?什么是免检异常?
必检异常:Java语言会强制要求编码者检查处理的异常,Exception及其子类都是必检异常。
免检异常:Java语言不强制要求编写代码捕获或声明的异常,Error和RuntimeException以及它们的子类都是免检异常。
3.Error和Exception有什么区别?
Error:错误类,是由程序和外部环境引起的错误,该类错误如果发生,程序立即崩溃,Java不要求处理该类异常。
Exception:异常类,是有程序和外部环境所引起的错误,Java强制要求必须处理该类异常。
4.关键字throw的作用是?关键字throws的作用是?
throw:用于抛出异常类的实例
throws:用于声明抛出异常,表示该类不处理,让方法的调用者处理。
5.自定义异常
- 创建自定义异常类并继承Exception基类,如果自定义Runtime异常,则继承RuntimeException基类。
- 在方法中通过throw关键字抛出异常。
- 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
- 在出现异常方法的调用者中捕获并处理异常
不多说了,上代码,编写Circle类,创建InvalidRadiusException异常类,如果半径为负,则在setRadius()方法抛出异常。
//自定义异常,继承Exception类
public class InvalidRadiiusException extends Exception {public InvalidRadiiusException() {super();}public InvalidRadiiusException(String message) {super(message);}
}
public class Circle {private double radius;public Circle(double radius) {this.radius = radius;}public Circle() {}public double getRadius() {return radius;}public void setRadius(double radius) throws InvalidRadiiusException {this.radius = radius;if (radius < 0){throw new InvalidRadiiusException("半径不能为负值!");}}
}
/*** 测试类*/
public class CircleMain {public static void main(String[] args) {Circle circle = new Circle();try {circle.setRadius(-7);} catch (InvalidRadiiusException e) {e.printStackTrace();}}
}
JAVA程序设计----异常相关推荐
- java property异常_Java常见的异常和解决的办法
Java程序设计中我们经常会遇到异常,遇到异常不要浮躁,找到问题的原因解决是很容易的.我们整理了一些异常和解决的方法供大家参考. 1.java.lang.IllegalStateException: ...
- java程序设计pdf下载_Java程序设计(迟立颖) PDF扫描版[21MB]
Java程序设计由浅入深地介绍了Java的基础知识,并结合具体的实例重点阐述了Java面向对象的概念及其程序设计方法,还介绍了图形用户界面(GUI)等知识.全书共分11章,内容包括Java概述.Jav ...
- java程序设计输入输出实验_20145320《Java程序设计》第五次实验报告
20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...
- java程序运行结果题_(Java程序设计)试题
装 订 线 内 不 答 题 要 二.多选题 (每题2分,共10分) . A.Java 语言是面向对象的.解释执行的网络编程语言. B.Java 语言具有可移植性,是与平台无关的编程语言. C.Java ...
- Ways to 优化JAVA程序设计和编码,提高JAVA性能
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化.一般有两种方案:即优化代码或更改设计方法.我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能 ...
- # 20155337 2016-2017-2 《Java程序设计》第六周学习总结
20155337 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 •串流(Stream): 数据有来源及目的地,衔接两者的是串流对象.如果要将数据从来源取出, ...
- 东华大学java_东华大学2020秋《Java程序设计》期末大作业
东华大学继续教育学院 2020年秋季学期 远程学历教育<Java程序设计>期末大作业 一.选择题(本大题共10小题,每小题 1分, 共10分) 1. 下列哪个不是面向对象程序设计的基 ...
- 20155213 2016-2017-2 《Java程序设计》第七周学习总结
20155213 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lamb ...
- 20155303 2016-2017-2 《Java程序设计》第六周学习总结
20155303 2016-2017-2 <Java程序设计>第六周学习总结 课堂笔记 高效学习法推荐 看视频学习(2h)→ 以代码为中心看课本,思考运行结果并验证(3h)→ 课后作业验证 ...
最新文章
- 2021年大数据常用语言Scala(三十二):scala高级用法 样例类
- 如何让图片开口说话 3DMeNow教程
- URLEncoder和URLDecoder中特殊字符的处理方案 URL传值问题
- win7下构建swarm nodes实现跨host的容器之间的通信
- Quartz-JobDataMap 参数传递
- 在windows下安装flex和bison、GCC
- unable to execute dex:GC overhead limit exceeded unable to execute dex:java heap space 解决方案
- vba 执行网页javascript_JavaScript秘密笔记 第一集
- java中jframe不存在怎么办,java – 设置JFrame背景,为什么这不起作用?
- python函数知识点总结_python函数map()和partial()的知识点总结
- 郭麒麟、宋轶主演的《赘婿》1-8集拍得怎么样?
- When Startup Disk is Full
- 设有单总线结构计算机的cpu数据通路,中央处理器——数据通路之单总线结构
- android 安装apk -99,Android APK 安装适配
- Navicat 添加唯一索引
- 汉诺塔问题(看完就记住)
- 密码学-->buuctf49~60
- 基于费马原理推导斯涅耳定律和广义斯涅耳定律
- k210安装ch210驱动(看着一篇就足够了)
- 电脑Tab键有什么功能?分享Tab键的6个妙用
热门文章
- CodeForces - 1291D Irreducible Anagrams(思维+构造)
- 中石油训练赛 - Perfect Tree(dfs)
- android 点击item跳转页面,Android RecyclerView Item 点击事件,简单
- android智能农业,Android应用源码之智能农业
- 动态加载NT驱动(源码)
- IDA来远程调试Linux程序
- 透过汇编另眼看世界之函数调用
- 用Python生成随机的中文验证码图片
- Linux项目自动化构建工具 make/Makefile
- 某大佬的20+公司面试题总结和自己的补充