阻止程序正常运行,称为异常
Exception和Error的共同父类是Throwable
检查异常包括:IO异常,SQL异常
错误与异常
Error可以看作是程序终结者,Error一旦出现,程序就崩溃了,是没有办法修复的
运行时异常说明了代码本身就有问题,应该从代码本身取改进
检查异常的出现原因多样,应该手动添加捕获和处理语句
一、概念
1、异常:有异于常态,和正常情况不一样,有错误出现,阻止当前方法或作用域。
2、异常处理:将出现的异常提示给编程人员与用户,使原本将要中断的程序继续运行或者退出,保存用户数据/数据回滚,释放资源。
二、异常体系结构
异常分类:主类 Throwable
一、子类error:系统错误类,他的出现代表程序崩坏无法处理
1.虚拟机异常 VirtualMachineError
2.线程死锁 ThreadDeath
二、子类Exception:异常类,他的出现代表编码、环境、用户操作输入出现问题
1.非检查异常 RuntimeException 代码逻辑上的异常,修改代码可排除异常
①空指针异常 NullPointerException
②数组下标越界异常 ArrayIndexOutOfBoundsException
③类型转换异常 ClassCastException
④算术异常 ArithmeticException
⑤其他的异常
2.检查异常 CheckException 需要手动添加捕获以及处理语句
①文件异常 IOException
②SQL连接异常 SQLException
③其他的异常
一、概念
1、异常:有异于常态,和正常情况不一样,有错误出现,阻止当前方法或作用域。
2、异常处理:将出现的异常提示给编程人员与用户,使原本将要中断的程序继续运行或者退出、保存用户数据/数据回滚、释放资源。
二、异常体系结构
异常分类:主类 Throwable
一、子类error:系统错误类,他的出现代表程序崩坏无法处理
1.虚拟机异常 VirtualMachineError
2.线程死锁 ThreadDeath
二、子类Exception:异常类,他的出现代表编码、环境、用户操作输入出现问题
1.非检查异常 RuntimeException 代码逻辑上的异常,修改代码可排除异常
i.空指针异常 NullPointerException
ii.数组下标越界异常 ArrayIndexOutOfBoundsException
iii.类型转换异常 ClassCastException
vi.算术异常 ArithmeticException
v.etc.....
2.检查异常 CheckException 需要手动添加异常捕获机制
i.文件异常 IOException
ii.SQL连接异常 SQLException
iii.etc....
Throwable
Error Exception
Throwable 【所有异常都继承于Throwable类】
Error 错误,一般编程人员不太接触。会使程序崩溃
---->VirtualMachineError 虚拟机错误
---->ThreadDeath 线程死锁
Exception 编码、环境、用户操作输入问题
---->RuntimeException 【非检查异常(运行时异常】由java虚拟机自动捕获
---->NullPointer【空指针】
---->ArrayIndexOutofBounds【越界】
---->ClassCast【错误类型转换】
---->Arithmetic【算数异常】
---->....
---->CheckException【检查异常(需要手动添加捕获和处理语句】文件异常IO
---->IOException【文件异常】
---->SQLException【SQL连接异常】
---->....
运行时异常分类:
Throwable包括:Error(错误),Exception(异常)。
Exception分为非检查异常(RuntimeException)和检查异常。
非检查异常四种类型
异常
检查异常0
Exception
00001
Throwable
Exception中的各种异常
Throwable -> Error
-> Exception
-> 检查异常
-> 文件异常/SQL异常
-> 非检查异常RuntimeException
-> 空指针异常/数组下标越界异常/类型转换异常/算数异常
测试测试测试测试
class
主要异常Throwable类,下面有Error和Exception类,Exception类又有以下以类,检查异常需要手动添加扑获和处理异常
java中的异常:
有哪些异常
异常:
检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的
用整数除0我干过
而检查异常需要手动添加捕获和处理,包括文件异常、SQL异常。
Java中所有的异常都继承于Throwable,其有两个儿子Error和Exception。
Error一般指系统错误,一旦出现程序就崩毁了,比如说虚拟机错误、线程死锁、内存溢出等。
Exception指编码、环境、用户操作输入出现问题。包含非检查异常RuntimeException和检查异常。
RuntimeException会由Java自动抛出并自动捕获,通常代表着代码有问题,包括空指针异常、数组下标越界异常、类型转换异常、算术异常。
异常的概念:阻止当前方法或作用域,称之为异常。
Exception:
非检查异常(RuntimeException):
空指针(NullPointerException),数组下标越界(ArrayIndexOutOfBoundsException),类型转换(ClassCastException),算数异常(ArithmeticException)
检查异常:
文件异常(IOException),SQL异常(SQLException)