JAVA异常

1.java异常其实归根于Throwable的根类体系
2.Throwable就是处理系统异常的一个类,每个异常都是一个对象。
3Exception和Error分别是Throwable的两个大体系的子类

Error

1.error是我们无法解决的错误,一般是jvm上的问题,比如说jvm内存不够或者堆栈满了,比如说递归没有尽头,堆栈爆炸。
2Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。
这些错误表示故障发生于虚拟机自身、或者发生在虚拟机准备加载时、或者发生在虚拟机试图执行应用时,如Java虚拟机运行错误(Virtual MachineError)、类定义错误(NoClassDefFoundError)等。这些错误是不可查的,因为它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况。对于设计合理的应用程序来说,即使确实发生了错误,本质上也不应该试图去处理它所引起的异常状况。在 Java中,错误通过Error的子类描述。

Exception

1.我们可以捕获和处理的异常
2.Exception类下有一个子类RuntimeException比较特殊,在编译阶段不会暴露错误
3.可以分为编译时异常和运行时异常。

编译时异常有:
        ClassNotFoundException这个不是运行时异常,这连类都找你不到
        类 DataFormatException		转换为Date类型的异常
        类 ParseException		格式转化异常错误
运行时异常:
常见的异常: ArithmeticException 算术异常:  
  java.lang.NullPointerException  空指针异常
  类 IndexOutOfBoundsException	数组越界
继承体系中常用的方法:
	1.getMessage 获取异常信息
	2.toString 获取异常对象的详细信息

那我们又如何去解决异常呢?

1.jvm中默认处理异常机制,jvm识别到异常,就打印输出错误

手动处理异常:
1.try catch
2.try catch finally
3.try finally

1.trycatch是捕获和处理异常,后面的程序还能进行。
try finally可以捕获异常,但是没有处理异常
finally 后面的语句块是一定执行的。
如果出现return 和finally 是先执行finally后结束程序。

System.exit(o)结束虚拟机的运行,finally是不会运行的。

throws 和 throw声明异常。

1.throws用在方法的声明上
2.throw是用在方法内部:

throw new Exception(); 抛出一个异常对象
2.通常混合使用。

File

1.用于表示一个文件或者是文件夹的路径的对象(抽象路径名)
2.盘符目录是根目录:E:或者C:

File类型的构造方法

new File()括号里面是路径对象 比如C:\asd\;

File类型的创建方法

1.boolean createNewFile() 创建当前File对象所描述的路径的文件
2.boolean mkdir(); 创建当前对象所描述的文件夹。
3.boolean mkdirs() 它会自动创建父类路径一直创建文件夹。

File类型的删除

1.delete() 删除调用者描述的文件或者文件夹
2. delete()删除的若是含有文件的文件夹,会报错

File类型的重命名功能

1.renamaTo(File dest)调用者是当前的文件夹的路径对象,参数是变化之后的文件夹路径对象。
2.如果在同一个文件夹下,修改路径,就是重命名
3.如果不在同一个文件夹下,修改路径就是剪切。

File类型的获取功能

1.getAbsolutePath() 获取当前对象的绝对路径
2.getPath()获取的是构造方法的路径;
3.getName 获取的是文件或者文件夹的名称
最重要的一点是File【】 f =file.listFiles;
将当前文件夹下的子目录和文件放在File对象的数组中

希望老师讲解一下作业第三题 Map跟文件遍历的递归与ArrayList综合使用不是很清楚。