Java学习笔记————————异常

Java学习笔记————————异常

1)throws关键字
修饰符 返回值类型 方法名(参数列表) throws AAException,BBException…{
throw new AAException(“产生原因”);
throw new BBException(“产生原因”);

}
tips:
throws关键字必须写在方法声明处
throws关键字后边声明的异常必须是Exception或者Exception的子类
方法内部若给出了多个异常对象,则throws后边也必须声明相应的异常
若抛出多个异常对象有子父类关系,则直接声明父类异常即可

eg:
public class Demo5 {

public static void main(String[] args) throws IOException {
	// TODO Auto-generated method stub

	method1("c:\\a.txt");
}

/*
 * 定义一个方法,对传递的文件路径进行合法性判断
 * 注意:
 * FileNotFoundException是编译异常,则必须处理这个异常
 * 可使用throws继续声明抛出FileNotFoundException这个异常对象,让方法的使用者处理
 * */

public static void method1(String filename) throws IOException {
	if(!filename.equals("d:\\a.txt")) {
		throw new FileNotFoundException("传递的文件路径不是d:\\a.txt");
	}
	
	/*
	 * 判断传递文件是否为".txt"结尾
	 * 若不是,则抛出IO异常对象,告知方法的使用者,文件的后缀名不对
	 * 
	 * 
	 * */
	if(filename.endsWith(".txt")) {
		throw new IOException("文件的后缀名错误。");
	}
	
	System.out.println("路径正确。");
}

}

2)try…catch
格式:
try{
可能产生异常的代码
}catch(定义一个异常的变量,用来接收try中抛出的异常对象){
异常的处理逻辑
}

catch(异常类名 变量名){

}

tips:
try中若出现多个异常对象,就用多个catch来处理这些异常对象
若try中产生了异常,则执行catch
若try中无异常,则不执行catch

eg:
public class Demo6 {

public static void main(String[] args) {
	// TODO Auto-generated method stub

	try {
		method1("e:\\a.txt");
	}catch(IOException e) {//try中抛出什么异常对象,catch就定义什么异常变量,用来接收这个异常对象
		//异常对象处理逻辑
		System.out.println("catch:文件的后缀名错误。");
	}
	System.out.println("程序继续执行2。");
}

/*
 * 定义一个方法,对传递的文件路径进行合法性判断
 * 注意:
 * FileNotFoundException是编译异常,则必须处理这个异常
 * 可使用throws继续声明抛出FileNotFoundException这个异常对象,让方法的使用者处理
 * */

public static void method1(String filename) throws IOException {

	/*
	 * 判断传递文件是否为".txt"结尾
	 * 若不是,则抛出IO异常对象,告知方法的使用者,文件的后缀名不对
	 * 
	 * 
	 * */
	if(filename.endsWith(".txt")) {
		throw new IOException("文件的后缀名错误。");
	}
	
	System.out.println("程序继续执行1。");
}

}

你可能感兴趣的:(Java学习笔记————————异常)