try catch:异常处理的第二种方式,自己处理异常
格式:try{
可能产生异常的代码
}catch(){
异常的处理逻辑,异常异常对象之后 怎么处理异常对象
一般在工作中 会把异常的信息记录到一个日志中
}catch(异常类名 变量名){
}
注意:
1、try中可能会抛出多个异常对象 可以使用多个catch处理异常对象
2、如果try中产生异常,执行完catch中的异常处理逻辑,继续执行try catch之后的代码
如果try中没有产生异常,不用执行catch,执行try中的代码再执行之后的代码
public class demo06TryCatch {
public static void main(String[] args) {
/*
IOExceptions是FileNotFoundException父类 直接抛出IOException即可 或者Exception也行
*/
try {
readfile("c:\\a.tx");
} catch (IOException e) { //try中抛出什么异常,catch就定义什么异常对象 用来接收这个异常对象
System.out.println("catch-传递的文件后缀不是.txt");
}
System.out.println("后续代码");
}
/*
定义一个方法 对传递的文件路径进行合法性判断
编译异常 必须处理 使用throws处理
*/
public static void readfile(String fileName) throws IOException {
if (!fileName.equals("c:\\a.txt")) {
throw new FileNotFoundException("传递的文件路径不是c:\\a.txt");
}
/*
如果传递的路径不是.txt结尾
则抛出IO异常对象
*/
if (!fileName.endsWith(".txt")) {
throw new IOException("文件后缀名不对");
}
System.out.println("路径没问题 读取文件");
}
}