异常与文件
一、异常
a) 异常指的是在程序运行过程中发生的异常事件,通常是有硬件问题或者程序设计问题所导致的。在Java等面向对象的编程语言中异常属于对象
b) 在程序当中:本应该正常执行的代码,由于逻辑错误或者相关的语法错误导致的无法执行正常的结果;程序在运行过程中发生由于硬件设备的问题,软件设计错误等导致程序异常事件(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象。
c) Java异常处理是面向对象处理方式
i. 一旦代码出现异常问题,JVM底层则会创建一个异常类相关的对象
ii. 异常对象产生后,会根据代码对异常的处理机制进行操作,其中异常处理机制包括捕获异常和抛出异常两种,如果没有异常操作,则java程序会中断执行(相当于程序瘫痪,不再执行下去,不能得到一个想要的结果)
d) 异常体系结构:
异常的父类:Throwable->Exception、Error
异常分类:①:检测异常:就是在程序编译的时候就检测出来的异常(受检异常、非运行时异常):IOException。。。
②:非检测异常:这是在程序变异的时候检测不出来,但是在运行时就检测出异常(非受检异常、运行时异常):NullPointException。。。
e) 如何对异常进行处理:
1)捕获异常:try{}catc(){}h方式:ArithmeticException数学运算异常
a) 异常进行捕获处理之后,原程序不会中断,但是在try{}异常语句后的语句会中断执行
b) 异常捕获是可以多层捕获的(支持多个catch语句)
c) 捕获异常最好是要精确
d) 如果说无法确定异常类型,则可以直接捕获Exception异常来处理,但是必须要注意一下问题,看e
e) Catch语句从上到下捕获多个异常,必须从小到大定义或者同级别
f) Catch中如果捕获了检测性异常,则try必须要有这种异常抛出的代码,不然程序变异会进行报错
g)
2)finally:最终-异常捕获的统一出口,就是如果定义了finally语句,程序一定要继续执行下去然后从finally语句中出来,再执行finally后面的语句。
a) finally的语句块一旦定义了,就一定要执行,要么你就不定义
b) try、catch、finally必须要至少两个存在,而且try必须要有(这里的意思就是有三个组合,①:try,catch②:try,finally③:try,catch,finally)
c) 问题:如何让已经定了finally代码块的的代码不执行?
d) return语句:finally之前执行(在这里return语句结束此层方法的功能在这里不适用了,就算try语句中有return语句,但是finally语句还是会继续执行)
e)
3)throws:把异常问题抛出
a) 抛出给上一级调用此方法的代码,任凭调用此方法的代码处理(此上一级的代码有两种处理方法:①:继续抛到此上一级方法的上一级调用此方法的代码,然后任凭此方法的代码处理②:或者此上一级方法进行捕获处理)
b) 抛出问题后,此方法会瘫痪不再继续进行执行,但是原程序会继续执行
4) throw:指在catch中抛出指定异常
5)
二、文件操作
a) File类:关联计算机中的文件和目录(文件夹)
b) API:读取文件的文件信息(不包括文件的数据):文件大小、类型、文件名、路径...
1) createNewFile:创建一个新的文件,但是一定要注意,文件可以不存在,路径一定要存在(否则程序出错)
2) mkdir:创建一个新的文件夹,mkdirs:创建多层文件夹
3) //创建一个文件或文件夹:createNewFile\mkdir
4) //删除一个文件:delete