黑马程序员_异常处理学习笔记
来源:互联网 发布:西安程序员好找工作吗 编辑:程序博客网 时间:2024/05/29 17:55
-------android培训、java培训、期待与您交流! ----------
Java的异常处理机制可以概括为一种异常和异常处理模块(一段代码)之间的匹配机制(将产生异常的功能代码和处理异常的代码相分离【匹配】---try-catch-finally)。
具体的说,包括:
1、 Java将常见的异常均封装成类,并通过面向对象的方法来处理异常。允许用户自定义。
2、 【抛出异常】如果运行过程中出现了异常,就会生成代表异常的异常类实例并传递给jvm
3、 【捕捉异常】接到被抛出的异常后,jvm会自动查找处理异常的代码,如果找到,就交给代码处理;如果没找到就由jvm来处理,通常是显示异常的状态并终止程序的运行。
Throwable:Error + Exception
1、Error:不能靠改变程序的流程使程序恢复运行;这类错误由jvm负责抛出和捕获,应用程序本身不必对这类异常进行处理。
2、Exception:代表的错位是应用程序中可以捕获的异常状态,由应用程序抛出或处理。
(1)运行时异常(Runtime Exception):程序设计的逻辑不正确(区别语法错误),对编译系统来说具有不可预测性。
(2)非运行时异常(Non Runtime Exception):可控异常类:外部问题导致:语法错误:显式处理。
异常的捕获和处理
try关键字指明这些语句可能会出现问题,需要jvm对其进行【监控】
catch的参数类似于方法中的参数,包括“异常类型”和“异常对象变量名”
注意:由于在处理异常时只执行第一个相匹配的catch语句快,因此,程序中catch语句的排列顺序应该从具体到一般。子类的在父类的前。
finally是是否异常都要执行的。通常用来执行一些善后工作,如关闭文件,关闭数据库连接等
抛出异常
过程:当前方法出现了异常并且没有能捕获它的代码,或者现有的捕获代码无法捕获这个异常,则jvm就会终止当前方法并抛给上一级方法。。。。。直到捕获或者被抛给程序的调用者即jvm本身!
throws关键字在方法声明时使用;throw关键字在方法体内使用。
throws关键字在方法声明时使用:该方法可能会抛出异常,且该方法不处理这些异常,而是交给上一级处理。
throw关键字在方法体中使用,它强制抛出一个异常类的实例,且其后的语句都不再执行。
在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
package com.itheima;public class Test6 {public static void main(String args[]) {Test6 t = new Test6();//创建对象t.divide(0);//调用divide方法t.divide(1);//调用divide方法}public void divide (int i){int y = 10;//定义并初始化整形变量try{System.out.println("y="+y+" i="+i);int a = y/i;//计算y/i的值System.out.println("a="+a);//打印输出计算结果}catch (ArithmeticException e)//捕获异常{System.out.println("捕获ArithmeticException异常");e.printStackTrace();//追踪异常发生时执行的内容}finally{System.out.println("这是finally中的语句");}System.out.println("程序结束");}}
- 黑马程序员_异常处理学习笔记
- 黑马程序员 _学习笔记 异常处理
- 黑马程序员_学习笔记08-异常处理
- 黑马程序员_学习笔记异常
- 黑马程序员 异常处理的学习笔记
- 黑马程序员--学习笔记--Java异常处理
- 黑马程序员_ 异常处理
- 黑马程序员_异常处理
- 黑马程序员_异常处理
- 黑马程序员_异常处理.
- 黑马程序员_异常处理
- 黑马程序员_学习笔记:6) 异常、包
- 黑马程序员_异常try,catch处理
- 黑马程序员_异常及处理
- 黑马程序员_异常及处理
- 黑马程序员_Java基础_异常处理
- 黑马程序员_异常处理篇
- 黑马程序员_Java基础_异常处理
- 抽象方法和抽象类
- IP地址转换函数--inet_addr和inet_ntoa使用笔记
- Objective-c 与java 的对比学习
- ASIHTTPRequest-Cookie的使用
- Yii集成Ueditor
- 黑马程序员_异常处理学习笔记
- 使用strace+pstack利器分析程序性能
- 一招一式练武功——读《软件方法上册——业务建模和需求》有感
- java.lang.VerifyError
- 使用"JSONKit.h"解析文件
- TIMESTEN安装配置指南-中文版
- 图的表示
- iPhone同步请求
- 慢下来的时光