一、异常的继承结构
Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。
Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked)。
Error体系:Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形。应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出)。如果出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。所以,在进行程序设计时,应该更关注Exception体系。
Exception体系:Exception体系包括RuntimeException 和其他非RuntimeException
RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。
处理RuntimeException的原则是:如果出现 RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。
其他(IOException等等)checked异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。
二、checked exception和runntime exception
* Runtime exceptions:
在定义方法时不需要声明会抛出runtime exception;
在调用这个方法时不需要捕获这个runtime exception;
runtime exception继承自java.lang.RuntimeException或java.lang.Error。
例如:
public void method1(){
if(true){
throw new RuntimeException();
}
}
public void method2(){
method1();
}
【注意】:method1方法会抛出RntimeEeption,但是在定义时不需要声明,在调用时也不需要用try...catch..来捕获该异常。
* Checked exceptions:
定义方法时必须声明所有可能会抛出的checked exception;
在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去;
checked exception都是继承自java.lang.Exception。
例如:
public void method1() throws IOException{
if(true){
throw new IOException();
}
}
public void method2() throws IOException{
method1();
}
public void method3(){
try{
method1();
}catch(Exception e){
e.printStackTrace();
}
}
三、override时应遵循的规则:
规则:“当override一个方法时,只能够申明和抛出不比它的父类版本中申明的异常多的异常”
分享到:
相关推荐
Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...
java核心知识点整理,面试很有用 Java核心知识点2.JVM JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它...
java异常知识点总结 包含异常的分类 异常的处理 异常的捕捉方法
Java基础知识点pdf: 数据类型、继承、封装、多态、数组、循环、抽象类、接口、object类常用方法、异常处理机制
Java异常处理--异常处理知识点总结及企业真题
这是自己通过看书对java异常处理的一些总结
10、Servlet中的forward和redirect有什么区别: Forward是服务器内部的重定向,服务器直接访问目标地址的url,地址不变。 Redirect:客户端的重定向,完全跳转,地址改变。...9)Exception(异常对象)
2020年最新Java面试题整理,全网最全一份,包含各个技术栈,Java基础,Java集合,多线程,Java异常,spring,spring MVC,spring boot,spring cloud,netty,dubbo,activemq,Java web,jvm,kafka,MongoDB,...
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
java各知识点详细总结(毕向东笔记整理)。第一章:编程基础 3-11 第二章:数组 11 -31 第三章:面向对象程序开发 31 -74 第四章:异常机制 74 -89 第五章:多线程技术 89 -122122122 第六章:常用类 API 122API 122 ...
java异常处理思维导图,自己根据尚硅谷的视频总结的思维导图,主要针对容易遗忘的知识点,方便自己记忆
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
Java基础 JAVA异常处理机制 集合 JDBC、MYSQL 线程 JavaWeb 框架----hibernate 框架----Struts2 框架----spring
学习过程中做的笔记,适合初学者。包括面向对象、封装、继承、多态、集合、I/O流、线程、泛型、异常和一些关键字的简单介绍
资源描述:Java面向对象知识点的思维导图 内容概要: 这个资源是一个Java面向对象知识点的思维导图,它涵盖了Java中面向对象编程的核心概念和重要知识点。导图中包含了类、对象、继承、多态、封装等基本概念,同时...
Java基础知识点:包括数据类型、面向对象特性、异常处理、集合框架等。 Java核心技术:如多线程、网络编程、序列化等都有详细的解释和示例。 常用框架:如Spring、MyBatis等框架的使用方法和内部原理都有涉及。 ...
Java程序设计知识点思维导图内容如下: 1、Java网络编程基础 2、输入流与输出流 3、继承与接口 4、JDBC与MySQL数据库 5、泛型与集合框架 6、Java多线程机制 7、类与对象 8、常用实用类 9、内部类、匿名类与Lambda...
本笔记文件从Java一些编程习惯的注意到Java基础知识的讲解到Java异常知识点结束
资源描述:Java面向对象知识点的思维导图 内容概要: 这个资源是一个Java面向对象知识点的思维导图,它涵盖了Java中面向对象编程的核心概念和重要知识点。导图中包含了类、对象、继承、多态、封装等基本概念,同时...
文档中包含10个章节的java基本知识介绍,如:概述、异常处理、线程等,该资源有利于初学者了解java的基本知识点。