1.异常: ArithmecticException 为了将来能够方便的表示这些问题的原因类型位置,java就提供了异常对象供我们使用 异常:程序出现了不正常的情况 2.异常体系结构: Throwable 严重:Error,通常是重大问题,运行的类不存在内存溢出,是不需要处理的,一般这种情况,是需要修改代码的 不严重:Eception, 编译期间:这个是我们需要处理的 运行期间:这个是我们不需要处理。这个是需要进行修改代码,或者是传递的参数没,, 3.异常处理: 他就把异常类型,原因,位置直接显示在了控制台,后面的代码是不能执行的。 如果出现问题,自己没有处理jvm会采用自动的处理方式? A:编写处理代码 基本格式: Try { 可能发生问题的代码 } Catch(异常类名 变量名){ 异常处理代码 }finally{} B:抛出异常 4.代码中出现多个异常: 1)、一个代码
个try chatch语句一个个用一场处理方案进行解决 B:针对所有的问题写一个try 中可以写多个catch 2)、注意: 在异常处理中,一旦try中出现了问题,就直接跳入到了cathy中进行捕捉异常 3)、多个catch中的顺序问题 注意: 异常或者错误都是以他们呢所在体系的父亲作为后缀 如果异常是平级关系 如果异常存在着子父类关系注意父亲一定要放在后边 4)、JDK1.7新特性 多个catch用一个catch替代。不是说多个catch的内容用一个Exception处理, 所指的是格式: catch(异常1|异常2|异常3…. 变量名称)
{} 5.Throwable: Public String getMessage():返回的是异常的消息I符串 Public String toString()返回此对象简单的描述 全路径类名:消息字符串 Public void privtStatckTrace:把错误信息显示在控制台上 6.finallyt 基本格式: Try {} Catch{ }finally{ 释放资源 } finally里边的代码永远都会执行 7.把异常抛出,方法调用中常见 怎么抛出: 方法名称后边跟一个关键字:throws 异常类名 2)、异常的分类 A:Exception:非RuntimeException编译时异常 B:RuntimeException:运行时异常 3)、异常处理的模式: 一种是自己处理,try ..catch..finally 一种是在方法三座throws处理 选择? 如果能够处理尽可能使第一种,否则选择B 4)、运行时期异常和编译时期异常的区别: A:运行: 是不需要 try…catch或者throw是的 B:编译: 编译时期的异常是需要进行处理的 8.finally的面试题: 1.final 、finally、finalize的区别 2.finally里边的代码真的永远都会执行吗? 会永远执行,但是有一个特殊情况:在代码执行在finally之前就退出了 3.加入在catch里边有return语句,请问finally里的代码还会执行吗?如果执行实在return前还是后边 执行,在return前执行 准确答案:在return之间执行 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps9B8C.tmp.jpg 9.自定义异常 如何编写一个自定义异常类: 就是自定义一个类,去基层Exception或者RuntimeException 开发中:一般继承自RuntimeException
|