异常处理
Posted r6688
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。
异常处理
概念
java异常是处理程序中错误的一种机制,错误通常指的是程序在运行的过程中发生的一些异常事件,比如0作为除输,数组下标越界,流读取的文件不存在。
设计程序的时候应该在异常发生时能友好的处理一下这些异常。
java中出现的异常事件都可以生成一个异常类的对象,这个对象将异常发生的信息封装起来交给java 虚拟机引擎去处理,这个过程称为抛出(throw)异常。
当java虚拟机接收到异常对象,会寻找能处理这一异常的代码,整个过程称为捕获(catch)异常。
e.printStackTrace();在控制台上打印出现异常的追踪信息。
异常分类:
Throwable(可以被抛出的)所有异常的父类。
Exception(必须要处理) 可能出现的异常
RuntimeException(运行时异常不需要必须去处理) 经常出现
非RuntimeException(必须catch流中的IOException)
Error 系统错误,虚拟机错误,管不了
异常的捕获和处理
第一种处理方式:
try{
//用在可能出现错误的代码语句上
}catch(Exception e){
e.printStackTrace();//打印输出这个错误的一串信息
}
第二种处理方式:
try{
。。。。。
}catch(Exception e){
}finally{
一定会执行的代码块
}
声明方法异常
throws(休修饰方法) 将某个方法的异常抛出,谁调用这个方法,谁去处理异常
throw(可能会产生什么异常)
当throws写在main方法上的时候就会把异常打印出来 异常要及时处理
异常的处理其他问题
在一个try语句中,子类异常的捕获语句不可以写在父类异常捕获的语句上面
自定义异常
extends Exception extends RuntimeException
方法重写中异常
重写方法需要抛出与原方法类型一致的异常,或者不抛出异常
以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )
Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )