IO概述、异常
IO概述
1.IO流概述
IO流用来处理设备之间的数据传输
上传文件和下载文件
2.讲解IO流之前要先讲解异常和File类
因为File表示的是IO流将来要操作的文件,所以我们需要学习File类。
而常见操作文件无非就是上传文件和下载文件,在这个操作的过程中可能出现问题,
出现问题后,我们需要对对应的代码进行处理。所以我们需要学习异常。
异常
异常的概述: 异常就是Java程序在运行过程中出现的错误。
异常的分类: 举例:张三骑自行车旅游
异常的继承体系
异常的基类: Throwable
严重问题: Error 不予处理,因为这种问题一般是很严重的问题,比如: 内存溢出
非严重问题: Exception
编译时异常: 非RuntimeException
运行时异常: RuntimeException
JVM默认的异常处理方式
main函数收到这个问题时,有两种处理方式:
a:自己将该问题处理,然后继续运行
b:自己没有针对的处理方式,只有交给调用main的jvm来处理
jvm有一个默认的异常处理机制,就将该异常进行处理.
并将该异常的名称,异常的信息.异常出现的位置打印在了控制台上,同时将程序停止运行
public class MyTest2 {
public static void main(String[] args) {
//运行期异常,发生在运行期间RuntimeException,及其子类属于运行期异常,对于运行期异常,可以选择解决,也可以不解决。
int a=10;
int b=0;
//ArithmeticException 运行期异常,算术异常
System.out.println(a/b);
System.out.println("后面代码");
System.out.println("后面代码");
System.out.println("后面代码");
System.out.println("后面代码");
System.out.println("后面代码");
System.out.println("后面代码");
}
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
at org.westos.demo1.MyTest2.main(MyTest2.java:9)
异常处理的两种方式
a:try…catch…finally
b:throws
try…catch处理异常的基本格式
try {
可能出现问题的代码 ;
}catch(异常名 变量名){
针对问题的处理 ;
}finally{
释放资源;
}
变形格式:
try {
可能出现问题的代码 ;
}catch(异常名 变量名){
针对问题的处理 ;
}
注意事项:
a: try中的代码越少越好
b: catch中要做处理,哪怕是一条输出语句也可以.(不能将异常信息隐藏)
public class MyTest3 {
public static void main(String[] args) {
int a = 10;
int b = 0;
try{
System.out.println(a / 0);
}catch (ArithmeticException e){
System.out.println("除数为0了");
}
System.out.println("后面代码");
System.out.println("后面代码");
System.o