java第六章异常
异常:
程序运行一旦出现异常程序就会立刻结束不在向下运行
处理异常:在程序执行代码时,万一发生了异常,程序会按照处理的方法对一场进行处理办法,程序将继续执行
try-catch-finally-throws
try代码中存放执行的代码,catch代码块存放异常信息(具体不变的) 列 catch(Exception e){e.printStackTrace();System.out.print(“出现错误”)}
finally代码中一般放结束语句 列 finally{System.out.print(“感谢使用本程序”)}
throws Exception使用:
public class Student{
private String name=""; private String sex = "man";private int age;
public void setAge(int age){
this.age = age;}
public void setSex(String sex) throws Exception{//声明异常
if("man".equals(sex)||"woman".equals(sex)){
this.sex = sex;}else{
throw new Exception ("sex mustbe man or woman")}//抛出异常 自定义异常
thows 在方法头部(可跟多个)声明异常
throw 方法题里面手动创建异常类对象(抛出异常)
题库:
finally不管异常发生不发生都会运行只有一种情况不运行(System.exit(1)退出java虚拟机)
异常是一个对象能和catch语句一块使用的是try,一个try能匹配多个catch
异常的区分:
运行时异常:RuntimeException及所有子类
受检异常:class not found/SQLException/IOException 必须捕获或声明 try-catch
算术异常:ArithmetioException Error 程序无法处理
Throwable 所有异常的父类
如果一段代码会出现多种异常可使用多重异常可使用多重catch块,排序是先子类到父类(Exception e)
异常基类为Exception。所有异常都直接或间接继承它
如果某异常继承RuntimeException,则该异常可以不被声明
在当前位置捕获异常并处理通过 try{}catch(){}
简述为什么不用if-else处理异常
1.代码臃肿,加入了大量异常情况判断和处理代码
2.减少了编写业务代码的时间,影响开发效率
3.异常处理和业务交织在一起,影响代码可读性,加大了程序的可维护性
简述throws和throw的区别:
1.作用不同,throw用于程序中抛出异常,throws声明该方法内抛出了异常
2.使用位置不同,throw位于方法体内部,可作为单独语句使用,throws必须跟在方法参数后面,不能单独使用
3.内容不同:throw抛出一个异常对象,而且只能是一个
throws后跟异常类,且可跟多个异常类
java第六章异常的更多相关文章
- “全栈2019”Java第六章:注释
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- [Effective Java]第六章 枚举和注解
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Java 第六章
第六章 for语法:for(表达式①;表达式②;表达式③){ //④循环操作}表达式含义:表达式1:赋值语句, 它用来给循环变量赋初值 例如:int i = 1;表达式2:循环条件,一个关系表达式, ...
- Java - 自定义异常(尚学堂第六章异常机制作业计算平均数)
编写一个计算N个学生分数平均分的程序.程序应该提示用户输入N的值,如何必须输入所有N个学生分数.如果用户输入的分数是一个负数,则应该抛出一个异常并捕获,提示“分数必须是正数或者0”.并提示用户再次输入 ...
- Java - 自定义异常(尚学堂第六章异常机制作业判断三角形)
写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “ ...
- Andrew Ng-ML-第十六章-异常检测
1.问题动机 图1.飞机发动机检测例子 对飞机引擎的例子,如果选取了两个特征x1热量产生度,x2震动强度.并得到如下的图,如果有一个新的引擎来检测其是否正常,x_test,那么此时如果点落在和其他点正 ...
- 疯狂JAVA——第六章 面向对象(下)
6.1包装类 java为了照顾程序员的传统习惯,所以提供了八种基本数据类型.但也带来不方便,例如所有引用类型都继承自Object类,都可当做Object类型变量使用.但基本数据类型的变量就不可以.如果 ...
- Java 第六章 循环结构2
循环结构 2 会使用 for 循环结构 会在程序中使用 break 和 continue for 比 while 更简洁 什么是 for 循环 ... 语法: for 循环的语法和执行顺序 备注:2条 ...
- java 第六章 面向对象基础
1.面向对象编程思想 面向过程编程 传统的C语言属于面向过程编程.面向过程解决问题的思路:通常是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步实现,最后一个一个依次调用方法来解决. 面向过程 ...
随机推荐
- js通过replace()方法配合正则去除空格
<script> //去掉全部空格 var str = " 546546 4564 46 46 88 88 "; var str = str.replace(/\s+/ ...
- symfony 踩坑之旅 视频实操从第九章开始
1.annotation定义路由 @Route("/**",defaults={"name":"world"},requirements={ ...
- Zabbix调优不完全指南(https://www.jianshu.com/p/2d911d55448f)
从学习搭建zabbix到完成各类监控.调优.二次开发已经过去了两年,期间通过QQ学习群.zabbix官方社区.各个技术博客整理学习了不少关于各种报错的处理方法,现在将常见的一些报错处理方法整理出来分享 ...
- CNVD-C-2019-48814 漏洞
CNVD-C-2019-48814 WebLogic wls9-async反序列化远程命令执行漏洞 网上均有详细的说明(https://github.com/jas502n/CNVD-C-2019-4 ...
- Flume概念与原理、与Kafka优势对比《转》
https://blog.csdn.net/gyshun/article/details/79710534
- flutter 列表展示
内容: 1.列表展示 2.轮播图 3.其他 本次的内容也是在上一节的基础上进行操作 我们就搞这个story模块. 目录: story.dart story主页面 import 'package:fl ...
- Ubuntu、CenOS、Debian等不同版本简单概念与不同
最近在云计算中使用虚拟机,在进行Xen搭建时发现Ubuntu好像从10版本没有开始官方维护,又去了解了更多的Linux的版本 后续打算采用CenOS尝试一下 下文选自https://blog.csdn ...
- AET 本征半导体
本征半导体就是纯净的半导体,不掺杂质的半导体 note:(1)本征半导体中载流子数目极少,其导电性能很差:(2)温度愈高,载流子数目越多,半导体的性能也就越好. 杂质半导体 对于4价半导体,可惨杂3价 ...
- IntelliJ IDEA 工程Java文件上红色的无效符
IntelliJ IDEA 工程Java文件上红色的无效符(红色表示该类是不可编译文件) 1.查看Java.resources文件夹 如图所示,是因为没有配置 2.在Java文件夹点击右键找到Mark ...
- 稀疏矩阵 part 1
▶ 图片参考[http://www.bu.edu/pasi/files/2011/01/NathanBell1-10-1000.pdf] ▶ 各种系数矩阵的数据结构 ● MAT,原始矩阵数据 type ...