目录
1、IO流概述及其前奏
IO流概述
IO流用来处理设备之间的数据传输
上传文件和下载文件,复制文件
IO流前奏
讲解IO流之前为什么先讲解异常和File类呢?
因为File表示的是IO流将来要操作的文件,所以我们需要学习File类。
而常见操作文件无非就是上传文件和下载文件,在这个操作的过程中可能出现问题,
出现问题后,我们需要对对应的代码进行处理。所以我们需要学习异常。
2、异常的概述和分类
异常的概述: 异常就是Java程序在运行过程中出现的错误
异常的继承体系
异常的基类: Throwable
严重问题: Error,不予处理,因为这种问题一般是很严重的问题,比如: 内存溢出
非严重问题: Exception,这个由我们自己来处理
异常分为:编译期异常和运行期异常。
编译时异常: 非RuntimeException
编译期异常,发生在编译期间,必须解决,不解决程序无法运行 非 RuntimeException 类,及其子类
运行时异常: RuntimeException
运行期异常,发生在运行期间,你可以解决,也可以不解决 untimeException 类,及其子类
3、JVM默认是如何处理异常的
JVM默认是如何处理异常的
main函数收到这个问题时,有两种处理方式:
a:自己将该问题处理,然后继续运行
b:自己没有针对的处理方式,只有交给调用main的jvm来处理
jvm有一个默认的异常处理机制,就将该异常进行处理.
并将该异常的名称,异常的信息.异常出现的位置打印在了控制台上,同时将程序停止运行
4、try...catch的方式处理异常---1
异常处理的两种方式
a: try…catch…finally
b: throws
try...catch处理异常的基本格式
try {
可能出现问题的代码 ;
}catch(异常名 变量名){
针对问题的处理 ;
}finally{
释放资源;
}变形格式:
try {
可能出现问题的代码 ;
}catch(异常名 变量名){
针对问题的处理 ;
}多个异常处理:
try {
可能出现问题的代码 ;
}catch(异常名1 变量名1){
对异常的处理方式 ;
}catch (异常名2 变量名2){
对异常的处理方式 ;
}....
注意事项:
a: try中的代码越少越好
b: catch中要做处理,哪怕是一条输出语句也可以.(不能将异常信息隐藏)
c: finally{}中不管try有没有遇到异常,finally里