声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
异常处理:
可以挖很多个陷阱,但是不要都是一样的陷阱,要不然没有意义。
一旦发生异常,产生一个异常对象,立即终止代码向下执行,寻找陷进处理异常,如果当前陷阱无法接受异常对象,就会向外抛,一直抛给能处理异常的陷阱。
异常捕获:
异常捕获是一种特殊的处理机制,跟if else不一样。If else是通过一个条件判断来进行分支,异常一旦发生就终止代码运行,马上去找捕获区(处理者)进行相应的处理。
捕获语法: try{
//可能会出错的代码
}catch(陷阱类型){
处理
}
例题1:打印结果为1、2、3、5、6.
S.toString();出现了异常直接跳到了NullPointerException e 陷阱中,把4号的代码终止了,因为s.toString 出现了出错直接抛给了陷阱。进入陷阱后进行了相应的处理,代码再往下走。
例题2:
打印结果:1、2、5、7。
执行过程:从main方法开始,打印了“1”、“2”,发生了一个不能被0整除的错误,抛给了ArithmeticException e陷阱,打印了“5”、“7”。
例题3:
打印结果:1、2、1、3、6、7.
执行过程:先打印1,然后打印2, 1/1=1, 打印1,接着打印3,最后申请一个数组,数组长度为1,发生了数组下标越界错误,走进了(ArrayIndexOutOfBoundsException e)陷阱,走进陷进后打印了6,最后打印了7。
例题4:
打印结果:1、2、3。
执行过程:先打印了1、2、3,然后出现了下标越界错误,代码中并没有挖下标越界错误的陷阱,它是无法执行的。Java的原理:异常一旦抛出,就会疯狂的找对应异常的陷阱,找不着就往外面找,终止外面的代码执行,外面在找不着再往最外面找。会导致一直终止代码。
例题5:先执行main方法,调用了m2(); ,m2调用了m1,m1调用了m,m出现了下标越界异常,m方法中没有处理数组越界的陷阱,所以无法处理数组越界异常。无法处理就向外抛,抛给了被调用者,m1没有处理者,又抛给了m2,m2又抛给了main方法,main方法中又相应的陷阱处理,跳到了数组越界处理的陷阱中,往下执行。(如果main方法没有相应的陷阱话,就会往外抛)
通用陷阱:
抛异常都是对象形式,对象找陷阱时候的是使用instanceof 能通过的就可以。
通用陷阱就是写他们的父类,用父类做陷阱类型,可以接受更多异常。
异常家族:Object--------Throwable
1.Exepion(程序抛出的异常) :RuntimeException(运行时异常)
2.Error (虚拟机抛出的错误)
Exepion:是一个比较严重的错误,要不然就写个try()catch{}伺候着,不然就向外抛出。 RuntimeException:这种错误是操作时的错误,这种错误一般认为,技术好有经验的话都可以避免。所以没有必要强制写try()catch{}。
通用陷阱要挖在最后,不然就独有一个。(要不然没有意义)
finally:最终执行块。
写在最后。
出现异常,或者不出现异常都会执行finally最终执行块。
写法:
1.try()[
}finally{
}
2.try{
}catch(){
}catch(){
}finally{
}
例题:
打印结果:1、2、4。
执行过程:先执行打印1、2,然后出现不能被0整除异常,往外抛,往外抛之前要执行最终执行块。
例题2:
打印结果:
执行过程:先执行打印1、2,然后生发一个数组越界错误,执行4,然后抛到6.因为try 的结构结束了,里面的代码执行完了。然后异常抛给了6,打印了6,接着打印7、8.
相关推荐
面向对象编程的基础 要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起 了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、 类、消息、接口、及抽象等...
java基础的知识点分类,总结,xmind的方式分享。包括集合,面向对象、多态、异常等的知识点
java 自定义异常(基础)(csdn)————程序
学习Java开发初级部分的知识(1-3章) 第一章:Java入门 第二章:Java基础语法 第三张:Java类和对象 第四章:Java高级类特性 第五章:数组和枚举 第六章:常见累的使用 第七章:抽象类和接口 第八章:异常和断言
《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...
《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...
《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...
《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...
《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...
1、实验项目名称:用户登录系统 2、实验要求: (1)了解自定义异常的用法; (2)熟悉异常处理机制及创建自定义异常。 3、使用:在了解Java异常机制的基础上自己编写的实验报告。
《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...
本书是一本与众不同的Java入门好书。作者以独特的视角,向Java...本书适合广大想学习一门编程语言的读者、没有任何基础的Java入门读者、Java自学人员、从其他语言转向Java语言的读者、大中专院校的学生和社会培训学生。
本文来自于cnblogs,文章主要从基础概念说起,又讲解了体系结构,Java的异常处理机制,异常链等相关,详细内容请看下文。异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,...
此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。 而且不只是读死书,你还会玩游戏、拼图、解谜题...
java基础的ppt——传智播客的资源:java前奏、面向对象、异常、常用类、线程、集合、文件、IO、socket等内容
完整版 杭州电子科技大学JAVA语言程序设计 JAVA_06 异常处理Exceptions(共31页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_...
1.0 基础 Java 自学之路(超仔细含练习项目及源码) 2.Java知识体系最强总结(含各个阶段的面试题) 3.Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,...
实验二 Java语言基础——数据类型、运算符、表达式和控制结构 实验三 类、对象和包 实验四、异常处理 1.运行下面的程序,理解异常的抛出、捕捉与处理。 实验五、 GUI标准组件及事件处理 1.编程包含一个标签和...
z Java异常处理机制 z Java基本类库介绍 z Java多线程编程 z Java I/O 流(character Stream, byte Stream, serialization) z Java Collections Framework z Java GUI(awt, swing, layoutManger, eventhandling….) z...