异常
运行期间出现的错误,语法错误是编译期间的错误;
关注错误的名字和行号最重要
异常的标准处理
try{
运行时可能发生错误的语句;
或者某种会抛出异常的方法
}catch(错误的类型 e){
对错误的处理;
常用异常类中的方法:
getMessage()---用来得到有关异常事件的信息
printStackTrace()---用来跟踪异常事件发生时执行堆栈的内容
}finally{
通常在这里会进行资源的清除工作
}
- try代码段后跟有一个或多个catch代码段。
- 每个catch代码段声明其能处理的一种特定类型的异常并提供处理的方法
- 当异常发生时,程序 会中止当前的流程,根据获取异常的类型去执行相应的catch代码段
- 在一个try语句块中,基类异常的捕获语句不可以写在子类异常捕获语句的上面
- finally段的代码无论是否发生异常都会有执行。
声明方法时后面跟 throws 异常类型,说明该方法可以会抛出这种类型的异常。
该方法内可能会存在throw new 异常类型();的语句,构造并抛出异常对象
异常的分类
throwable类包括error类和exception类
- error类:系统的错误,虚拟机生成或者抛出,程序处理不了。
- exception类分为runtimeException类和别的exception类,
- runtimeException类异常经常出现,不处理也能通过编译,但是运行时会抛出异常
- 别的exception类,不处理就不能通过编译
自定义的异常
- 通过继承java.lang.Exception类声明自己的异常类。
- 在方法适当的位置生成自定义异常的实例,并用throw语句抛出。
- 在方法的声明部分用throws语句声明该方法可能抛出的异常。
重写方法时,需要抛出与原方法抛出异常类型一致异常或不抛出异常。
File类
注意点
- 代表系统文件名(路径和文件名)
- separator代表路径分隔符
- 路径分隔符在程序中一般都可以写成正斜杠 /
- 反斜杠是java的转义符号
- windows系统下的路径分隔符是反斜杠
- linux系统下的路径分隔符是正斜杠
常用方法
public boolean canRead()---是否可读
public boolean canWrite()---是否可读
public boolean exists()---是否存在
public boolean isDirectory()---是否目录
public boolean isFile()---是否文件
public boolean isHidden()---是否隐藏
public boolean lastModified()---上次修改的时间
public boolean length()---文件内容的长度
public String getName()---得到文件名
public String getPath()---得到文件路径
public String getAbsolutePath()---得到绝对路径
public boolean createNewFile() throws IOException---创建一个空的文件
public boolean detele()---删除
public boolean mkdir()---创建一个路径
public boolean mkdirs()---创建一系列的路径
File类引用.getParentFile()---返回该类文件的上层目录,当该类位于包里时,返回该类所在的最上层的包的上层目录