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综合使用不是很清楚。