try catch处理流的异常
Posted wmqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了try catch处理流的异常相关的知识,希望对你有一定的参考价值。
1、try catch处理异常
try{} catch(Exception e){} finally{ 必然执行的代码,一般是释放资源 }
2、流使用try catch处理异常
其中,变量作用域只在当前方法体即大括号范围,为创建流对象变量要放在try 方法体外面,初始化为 null;
变量创建时候尽量要初始化一下,因为在使用必须有值,即栈内存中的这个变量存储的地址值,指向堆内存中此对象的地址,必须有,否则报NullPointException;
在调用构造方法创建流对象的时候,以路径为入参的时候,除了最后的文件名前面的路径地址若不存在则会报(找不到系统路径);
流对象的 close() 方法在定义时候是声明了异常的,所以调用时候必须要处理异常,直接throws没有意义,一般是try catch处理异常;
在 finally 方法体中,流对象在调用close方法体时,如果 try 方法体中的创建流对象失败了,则流对象还是保持初始化时候的null值,则又会报NullPointException;
所以要优化代码,再加一层是否控制判断;
以上是关于try catch处理流的异常的主要内容,如果未能解决你的问题,请参考以下文章
Java中使用try-catch-finally处理IO流中的异常
Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )
Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )