异常处理
代码中的异常举例:
1.空指针异常(NullPointerException)
2.下标越界异常(IndexOutOfBoundsException)
3.算数异常(ArithmeticException)
main方法中的异常处理
处理异常的方式有两种,自己处理或者由上级处理,main函数在接受到异常后,由上级来处理,由于main函数是JVM调用的,所以main函数的上级是JVM,JVM接受到异常后,采用默认的异常处理方式处理:1.打印错误位置;2打印错误信息;3终止程序。
异常处理的类
Throwable(所以异常的父类)
Error(系统崩溃 数据库崩溃)
Exception(异常)
RunTimeException(运行时异常)
编译时异常
自己处理异常
try---catch---finally
try 指的是要被测试的代码(有可能发生异常的代码)
catch指的是要捕获的异常
finally指的是异常处理后要执行的代码
多catch的异常处理
由上至下进行匹配 匹配上一个剩下的catch都不走了
捕获时使用的类 要由小到大书写
finally
finally中的代码 一定会被执行
finally一般关闭资源 关闭数据库 关闭流
final finally finalize之间的区别
三者之间没有关系
final 修饰类 修饰方法 修饰变量
finally 异常处理中关键字 可以关闭资源 一定会被执行的
finalize 是Object类的方法 用来垃圾回收
可以将内存中没有任何引用的垃圾空间回收 系统调用
try---catch捕获异常流程:
1.某个方法 出现了异常
2.产生一个异常对象
3.这个异常对象要返回给方法的调用者
4.调用者接到这个异常 进行处理
方式一:抛给上级去处理
抛给JVM处理 调用JVM的默认处理机制 程序被停止
方式二:自己处理 try---catch处理
接到异常后 使用catch进行匹配
匹配成功后 执行catch中的语句
并且没有终止程序 程序继续运行
继承中的异常
如果父类没有抛出异常,子类也不可以抛出异常,只能同过try--catch来处理异常,如果父类抛出了异常,子类可以用try--catch处理,也可以抛出异常。
File类(封装了操作文件或文件夹的方法)
1.表示一个文件
2.表示一个文件夹
3.表示一个文件路径
File类中的静态变量
路径分隔符
分隔符
根据操作系统不同,分隔符就不同
mac : /
windows ; \
静态变量:分隔符
- File.pathSeparator;
判断文件是否存在
- file.exists();
打印绝对路径
- file.getAbsolutePath();
创建文件
- file1.createNewFile();
获取文件名方法
- file1.getName();
创建单级文件夹
- file2.mkdir();
创建多级文件夹
- file3.mkdirs();
判断是文件
- file1.isFile();
判断是文件夹
- file1.isDirectory();
- file1.isHidden();
删除方法(跳过回收站)删文件夹时,只能删空文件夹
- file1.delete();
以字符串数组形式获取文件夹下所有文件
- file1.list();
以文件数组的形式获取文件夹下所有文件
- file1.listFiles();