1、异常是什么?
用面向对象的思想将问题进行描述,并将问题进行对象的封装。
2、异常体系
Throwable
|--Error:不需要编写针对性处理方式
|--Exception:需要编写针对性处理方式进行处理
3、throw和throws的区别:
throw:定义在函数内,抛出一个异常对象。(throw抛异常对象的时候,其下面最好不要放其他语句,因 为一旦执行throw语句,下面就不执行了)
throws:定义在函数上,抛出异常类,可以抛出多个用逗号隔开。
4、Exception的分类有两种:
编译时异常:编译时被检测
①该异常在编译时,如果没有处理(没有抛也没有try),编译失败
②该异常被标识,代表这个异常可以被处理
运行时异常:RunntimeException
在编译时,不需要处理,编译器不检查。该异常的发生,建议不处理,让程序停止,需 要对代码进行修正。
如果在函数内抛出RunntimeException,函数可以不用声明,编译一样通过。如果在函数 上声明了该异常,调用者可以不用进行处理,编译一样通过,之所以不用在函数上声明, 是因为不需要让调用者处理。
5、异常的处理语句:
注意:①finally语句中通常定义的是关闭资源代码,因为资源必须释放。finally语句只有在执行到System.exit(0)时不会执行。
②catch是用于处理异常,如果没有catch就代表异常没有被处理过,如果该异常是检测时异常,那么必须声明。
③一个try后面可以跟多个catch块,不管后面跟多少catch块,最多只能执行一个catch块
6、异常的处理方式:
① 使用try...catch...finally进行捕获
② 在产生异常的方法声明后面throws某一个Exception类型,将异常抛到外面一层去
6、异常处理的原则:
①声明异常时,建议声明更为具体的异常,这样处理的可以更具体
②对方声明几个异常,就对应有几个catch块,不要定义多余的catch块。如果出现多个catch块中的异常 出现继承关系,父类异常catch块放在最下面,这样保证后续的catch块可能被执行。否则子类型的 catch块永远无法到达。如果异常是独立的,它们的先后顺序是没有要求的。
7、异常在子父类中的体现:
①子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类
②如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集
③如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常。如果子类方法中发生了异常,就必须进行try处理,绝对不能抛。
8、自定义异常:定义类继承Exception或者实现Runnable接口
为什么要继承Exception或者实现Runnable接口?
①为了让该自定义类具备可抛性。只有这个体系中的类和对象可以被throw和throws操作
②为了让该类具备操作异常的共性方法
自定义异常必须手动抛出异常对象,而java中的异常可以自动抛出也可以手动抛出。
相关推荐
JAVA基础-异常处理总结
Java 异常处理机制详解 Java 异常处理是指在 Java 程序执行过程中出现非预期的情况,例如数组下标越界、空...通过学习 Java 异常处理机制,可以更好地掌握 Java 编程的基础知识,并在实际开发中更好地处理异常情况。
JAVA基础--如何通过异常处理错误 JAVA是一种面向对象的编程语言,它提供了强大的异常处理机制,以便更好地处理程序中的错误和异常。在JAVA中,异常是指程序在执行过程中发生的错误或意外情况,例如除数为零、数组...
【JAVA基础-初识JAVA】 Java是一种广泛使用的高级编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它的设计目标是“一次编写,到处运行”,这意味着编写好的Java程序可以在任何支持Java环境的...
java 基础异常 java 基础异常java 基础异常java 基础异常java 基础异常 java 基础异常java 基础异常java 基础异常java 基础异常 java 基础异常java 基础异常java 基础异常java 基础异常 java 基础异常java 基础异常...
Java 基础 Java 流程控制 Java 方法 Java 数组 Java 类和对象 Java 类的继承和多态机制 Java 接口和包 Java 异常处理 Java 输入与输出 Java 图形用户界面设计 Java Swing 组件 Java Applet 程序 Java 多线程 Java ...
### Java基础 #### 1. Java概述 - **定义**:Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。 - **特点**: - 面向对象:支持封装、继承、多态等特性。 - 平台无关性:Java程序可以在任何...
【Java基础-尚硅谷课件资料】是一套全面讲解Java编程语言的学习资源,适用于初学者和进阶者。课程内容涵盖了从Java语言的基础概念到高级特性的深入理解,旨在帮助学习者掌握Java开发的核心技能。 在Java编程语言的...
计算机后端-Java-Java核心基础-第17章 异常处理 06. 异常概述.avi
这个"java基础教程----精华版"显然是一份精心整理的资料,旨在帮助初学者快速掌握Java编程的基础知识。下面将详细介绍Java语言的核心概念和关键知识点。 1. **Java语法基础**: - **变量**:在Java中,变量是存储...
Java异常处理是编程中至关重要的一个环节,它...通过实际操作,你将能够更有效地调试代码,定位问题,为后续的Java学习打下坚实的基础。在实际项目中,良好的异常处理和日志记录习惯将极大地提高开发效率和软件质量。
计算机后端-Java-Java核心基础-第17章 异常处理 17. 如何自定义异常.avi
计算机后端-Java-Java核心基础-第17章 异常处理 07. 异常的分类.avi
计算机后端-Java-Java核心基础-第17章 异常处理 08. 常见异常的举例.avi
计算机后端-Java-Java核心基础-第17章 异常处理 20. 异常处理章节总结.avi
计算机后端-Java-Java核心基础-第17章 异常处理 13. 处理异常:throws方式.avi
计算机后端-Java-Java核心基础-第17章 异常处理 16. 手动抛出异常对象.avi
JAVA 基础是编程学习的重要一环,尤其对于初学者而言,掌握好JAVA的基础知识是成为...总的来说,JAVA基础涵盖了从编程语言基础到高级特性的广泛知识,学习者需要深入理解和实践,才能在JAVA开发领域打下坚实的基础。
计算机后端-Java-Java核心基础-第17章 异常处理 18. 异常处理练习:基本使用.avi
计算机后端-Java-Java核心基础-第17章 异常处理 19. 异常处理练习:综合练习.avi