基础的异常:
1、什么是异常?
什么时候会出现异常?其实出现异常了不就是代表你的代码出现了问题了嘛!所以可以说异常其实看做是对问题的描述,java是面向对象的语言,正所谓万物皆对象,所以,java中异常是将问题进行对象的封装。
异常:
Throwable
|-error
|-Exception
|-RuntimeException
异常(Exception)分为两种:
一种是编译时异常:编译时异常,就需要抛出或者捕获处理,不然编译就会失败
一种是运行时异常(RuntimeException):不需要进行任何处理,编译器也不会检查出来,就让它存在,然后在运行时出现问题,使得程序停止。然后就需要对代码进行修正。
2、异常具有什么特性?
异常具有可抛性。同时也只有异常体系具有可抛性。
3、对于异常的处理有两种方式,一种就是讲异常抛出,通常就是throw,throws,这两个单词的区别,在下面再说,第二中就是try{}catch{}.。
4、throw:作用于方法内部,讲异常进行对象的封装,然后抛出,如:throw new Exception();这里使用了new,从这也可看出异常是对问题的一个封装。
throws:作用于方法上,其实就相当于一个声明,告诉调用者,我这里会抛出异常,让调用者做好准备,或者是处理,或者是接着抛出。
5、如果不讲异常抛出。就必须使用捕获处理。捕获处理一共有两种方式
第一种方式:try{
} catch() {
}
第二种方式:try{
被检测代码;
} catch() {
处理异常的代码;
} finally {
一定会执行的代码;
}
注:一个try后面可以跟多个catch,不过有一条,父类的catch放在最下面
6、第三种方式
try{
} finally {
}
这个时候因为没有catch,也就是没有处理异常的代码,所以也就是必须要将异常抛出,需要再方法上声明异常,在方法内抛出异常。
7、finally:finally内的代码因为基本上都会被执行的。即使出现了异常,也会执行。
有一种特殊情况:在执行到System.exit(0);这个代码说明了正常退出程序,关闭了jvm,将所有的内存释放了。所以finally内的代码就不能执行了
8、子类抛出的异常必须是父类的子类或子集,也可以跟父类抛出一样的异常。
如果父类没有抛出异常,则子类即使有异常也只能捕获处理掉,不能抛出
例子:有两个异常A,B都是继承了Exception,而C异常继承了A异常,如果我调用了父类的方法,抛出了A异常,那么我如果调用子类继承重写父类的这个方法,那么会抛出A,B,C中的那个异常呢?
只可能抛出A,C异常,不可能抛出B异常
分享到:
相关推荐
java 基础异常 java 基础异常java 基础异常java 基础异常java 基础异常 java 基础异常java 基础异常java 基础异常java 基础异常 java 基础异常java 基础异常java 基础异常java 基础异常 java 基础异常java 基础异常...
Java 后端语言 JavaSE 基础 异常篇 思维导图总结
JAVA程序设计基础异常处理和常用系统类PPT教案学习.pptx
在Controller层分页,返回值包装工具类 用途:可以用来异常封装,公用参数封装,分页数据封装 可以基于:本工具优化前端的展示数据,可以继承于该类 可以做为参考:自定义自己的工具类 总之:通常用的工具都有
java基础异常学习ppt 学完本次课程后,你能够 了解异常概念 理解Java异常处理机制 会捕捉异常 会抛出异常 了解Java异常体系结构
- `NSException`: iOS自带的基础异常类,可以用来捕获和处理Objective-C中的异常。 - `NSSetUncaughtExceptionHandler`: 这是iOS提供的一种全局异常处理方法,可以设置一个异常处理器函数,当未被捕获的异常出现时...
Java错误大全涵盖了从基础异常到特定开源框架如Hibernate和Struts中可能出现的异常情况。以下是一些关键知识点的详细说明: 1. **错误类型:**Java中的错误通常分为两种主要类型,异常(Exception)和错误(Error)...
零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理...
1. **基础异常捕获**: - 当代码执行过程中出现如除数为零的`ArithmeticException`等错误时,Java会立即转至相应的catch块进行异常处理,如输出错误信息并打印堆栈跟踪。 2. **finally块的使用**: - 不论try块中...
用户自定义异常是程序员根据特定需求创建的异常类,它们通常继承自系统提供的基础异常类。通过定义自定义异常,我们可以更精确地表示和处理特定类型的错误。例如,在Java中,可以这样创建一个新的异常类: ```java ...
python基础异常模块
4. `AWTException`:这是抽象窗口工具包(AWT)中的基础异常类,通常在AWT组件或事件处理中遇到错误时抛出。 5. `ClassNotFoundException`:在类加载器尝试加载类时,如果找不到指定的类,就会抛出此类异常。 6. `...
Java基础 异常处理pptx Java基础 枚举&注解pptx Java基础泛型docx Java基础_网络编程pptx Java基础面向对象pptx Java基础_高级类特性.pptx Java基础实战Bank项目文档需求源代码 01 Java基础实战Bank项目文档需求源...
二、HOOK异常处理基础 异常处理是程序运行过程中对错误和异常情况的处理机制。在Windows系统中,异常处理通常涉及异常向量表和线程上下文等概念。当程序出现未处理的异常时,系统会按照异常向量表中的顺序寻找合适...
文章指出,传统的Java异常处理机制提供的基础异常信息(如方法全名、代码行、异常类型、异常消息和时间)虽然能指示异常发生的位置,但通常无法揭示引发异常的前置操作。因此,开发者需要能够复现异常以便更好地理解...
`NSException`是Objective-C中的基础异常类,用于表示运行时错误。当程序执行过程中遇到无法恢复的错误,如除以零、无效的对象操作等,会抛出`NSException`。通过自定义异常处理器,我们可以捕获并处理这些异常,...
异常基础 异常是在程序执行过程中发生的非正常事件,可能导致程序无法继续正常运行。C++通过异常处理机制提供了一种在运行时捕获和处理错误的方式,而不是通过返回值或全局变量。 ### 2. `try`块 `try`块是异常...
Java异常基础入门主要涵盖以下几个关键知识点: 1. **异常的概念**:在程序执行过程中,当遇到预期之外的问题或错误时,这些非正常情况被称为异常。Java中的异常是通过`Exception`类及其子类来表示的,它允许程序在...