java的核心思想

面向对象的编程思想

类和类的关系

类中成员的描述 对象创建

Java工具类

包装类 数学相关 日期相关 字符串相关

集合相关的类

考试机 学生 老师

异常

程序运行过程中,可能会发生一些不被期望的效果,肯定会阻止我们程序按照指令去执行

这种不被预期出现的效果,肯定需要抛出来告诉我们

        在java中有一个定义好的规则Throwable(可以抛出的)
Error错误
通常是一些物理性的,jvm虚拟机本身出现的问题,程序指令是处理不了的
Exception异常
通常是一种认为规定的不正常的现象,通常是给定的程序指令产生了一些不符合规范的事情
Throwable
Error(错误) Exception(异常)
StackOverflowError RuntimeException(运行时) IOException...
OutOfMemoryError 异常的分支体系
运行时异常(非检查异常)
Error和RuntimeException都算作运行时异常
javac编译的时候,不会提示和发现的,
在程序编写时不要求必须做处理,如果我们愿意可以添加处理手段(try throws)
1.InputMisMatchException 输入不匹配
int value = input.nextInt():// abc
2.NumberFormatException 数字格式化
int value = integer.parseInt("123.45")
3.NegativeArraySizeException 数组长度
int[] array = new int[-2];
4.ArrayIndexOutOfBoundsException 数组索引越界
int[] array = new {1,2,3};
array[5];
5.NullPointerException 空指针异常
int[][] array = new int[3][];
array[0][0] = 10;
Person p = null;
p.getName();
6.ArithmeticExcption 数字异常
10/0 整数不允许除0 Infinity小数除以0会产生无穷
7.ClassCastException 造型异常
Person p = new Teacher();
Student s = (Student)p;
8.StringIndexOutOfBoundsException 字符串越界
String str = "abc";
str.charAt(5);
9.IndexOutOfBoundsExcpetion 集合越界
List家族
ArrayList list = new ArarayList(20);
list.add();list.add();list.add();
list.get(5);
10.ILLeagalArgumentException 非法参数异常
ArrayList list = new ArrayList(-1);
编译时异常(检查异常)
除了Error和RuntimeException以外其他的异常
javac编译的时候 强制要求我们必须为这样的异常做处理(try或throws)
因为这样的异常在程序运行过程中极有可能产生问题的
异常产生后后续的所有执行就停止啦
1.InterruptException
try{
Thread.sleep(1000);
}catch(Exception e){ }

           添加处理异常的手段
处理异常不是 异常消失了
处理异常指的是 处理掉异常之后 后续的代码不会因为此异常而终止执行 两种手段
try{}catch{} [finally{}]
1.try不能单独的出现
2.后面必须添加catch或finally
3.catch有一组(NullPointerException)目的是为了捕获某一种异常
4.catch可以有很多个存在
捕获的异常之间没有任何的继承关系
捕获的异常需要从小到大进行捕获
5.finally不是必须存在的
若存在finally结构 则必须执行
引申一个小问题: final finally fianlize区别
final 特征修饰符 修饰变量 属性 方法 类
修饰变量 基本类型 值不能改变 引用类型 地址不能改变(如果变量没有初值

给一次机会赋值)

修饰属性 特点与修饰变量类似(要求必须给属性赋初始值 否则编译报错)

修饰方法 不能被子类重写

修饰类 不能被其他的子类继承

finally 处理异常手段的一个部分

try{}catch(){}后面的一个部分

这个部分可有可无 如果只能含有一份 且必须执行

finalize 是Object类中的一个proteced方法

对象没有任何引用指向的时候--会被GC回收

当对象回收的时候 默认调用finalize方法

若想要看到对象回收的效果 可以重写 public void finalize(){}

6.处理异常问题放在方法内部 可能还会有小问题

如果在方法内部含有返回值

不管返回值return关键字在哪里 finally一定会执行完毕

返回值的具体结果 看情况

throw抛出
1.异常只能在方法上抛出 属性是不能处理异常的
2.方法 构造
3.方法可以抛出不止一个异常 通过,隔开
4.抛出的异常与多个catch类似 要么没关系 要么抛出小异常

总结

Throwable的分支

Exception Error

运行时

编译时

两种处理手段 try throws

常用的运行时异常 后续见到的编译时异常

  我们也可以自己创建异常----自定义异常
1.自己描述一个类
2.让我们自己的类继承
如果继承是RuntimeException---->运行时异常(不需要必须添加处理手段)
如果继承是Exception----------->编译时异常(必须添加处理手段)
3.创建一个当前自定义异常类的对象
通过throw关键字 主动产生异常
4.当我们设计描述的方法(事情)之前没有相关的异常能描述我的问题Box
这个时候才会利用自定义异常来描述

第十三周学习总结 Java的异常的更多相关文章

  1. 201871010106-丁宣元 《面向对象程序设计(java)》第十三周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第十三周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...

  2. 201871010136—赵艳强《面向对象程序设计(java)》第十三周学习总结

    201871010136—赵艳强<面向对象程序设计(java)>第十三周学习总结   博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https:// ...

  3. 201521123061 《Java程序设计》第十三周学习总结

    201521123061 <Java程序设计>第十三周学习总结 1. 本周学习总结 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jm ...

  4. 201521123072《java程序设计》第十三周学习总结

    201521123072<java程序设计>第十三周学习总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 ...

  5. 201521123038 《Java程序设计》 第十三周学习总结

    201521123038 <Java程序设计> 第十三周学习总结 1. 本周学习总结 端口:区分一台主机上的不同服务,不是物理接口 ipconfig:查看网络配置 ping:检查网络是否连 ...

  6. 201521123045 《Java程序设计》 第十三周学习总结

    201521123045 <Java程序设计> 第十三周学习总结 1. 本周学习总结 2. 书面作业 Q1.网络基础 1.1 比较ping www.baidu.com与ping cec.j ...

  7. 201771010134杨其菊《面向对象程序设计(java)》第十三周学习总结

    第十三周学习总结 第一部分:理论知识 第11章 事件处理(事件处理基础; 动作; 鼠标事件;AWT事件继承层次) 1. 事件源(event source):能够产生事件的对象都可 以成为事件源,如文本 ...

  8. “2017面向对象程序设计(Java)第十三周学习总结”存在问题的反馈及本周教学安排

    “2017面向对象程序设计(Java)第十三周学习总结”存在问题的反馈及本周教学安排1. 图形界面事件处理技术是Java GUI编程核心技术,要求同学们掌握其基本原理和基本编程模型:2. 本周四理论课 ...

  9. 201871010123-吴丽丽《面向对象程序设计(Java)》第十三周学习总结

    201871010123-吴丽丽<面向对象程序设计(Java)>第十三周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

随机推荐

  1. 【CF461B】Appleman and Tree

    题目大意:给定一棵 N 个节点的有根树,1 号节点为根节点,每个点有两种颜色(黑.白),现给出树上每个节点的颜色,求有多少种分割树的方式,使得分割出的每个联通块中有且仅有一个黑点. 题解:树形dp 由 ...

  2. flask+gevent的异步框架

    一:flask本身的框架时什么? 基于Wsgi的Web应用框架 二:为什么要实现异步架构? 增加并发处理能力 三:实现异步架构 from gevent import monkey from geven ...

  3. jmeter使用jdbc获取注册验证码进行注册

    自动化工具测试注册功能时,往往会遇到验证码,这个烦人的验证码怎么能够解决掉呢? 通常有两种方法 让开发禁用注册码,或在测试环境写个固定的验证码 在jmeter中用 jdbc获取数据库中验证码 今天通过 ...

  4. 分组统计 over(partition by

    sum( CASE WHEN ISNULL(b.zl, 0) = 0 THEN C.LLZL ELSE b.zl END * c.pccd * b.sl) over(partition by b.dj ...

  5. PID221 / 烦人的幻灯片☆ x

    超详细解释!我都被我自己惊呆了! (这个题目意思我缓冲了很久!一定要读懂题!否则做不出来) 题目不懂就多读呀~ 提交你的代码 查看讨论和题解 题目描述 李教授于今天下午做一个非常重要的演讲.不幸的是他 ...

  6. codevs 5935 小球 x

    题目描述 Description 许多的小球一个一个的从一棵满二叉树上掉下来组成FBT(Full Binary Tree,满二叉树),每一时间,一个正在下降的球第一个访问的是非叶子节点.然后继续下降时 ...

  7. Codeforces 1203F1 Complete the Projects (easy version)

    cf题面 Time limit 2000 ms Memory limit 262144 kB 解题思路 看见这题觉得贪心可做,那就贪吧.(昨天真是贪心的一天,凌晨才被这两道贪心题虐,下午多校又来,感觉 ...

  8. 如何将python源文件打包成exe文件

    PyInstaller是一个十分有用的第三方库,它能够在Windows.Linux.Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Python 程序可以在没有安装 Py ...

  9. Spring Cloud Stream教程(五)编程模型

    本节介绍Spring Cloud Stream的编程模型.Spring Cloud Stream提供了许多预定义的注释,用于声明绑定的输入和输出通道,以及如何收听频道. 声明和绑定频道 触发绑定@En ...

  10. selenium安装环境

    selenium自动化环境:selenium+python+chromedriver 驱动/ ie驱动/火狐驱动 1.selenium和python安装   cmd命令里输入:pip install ...