1.Java 中的异常处理机制
编译出错,提示“公有类HelloWorld必须在HelloWorld.java文件中定义”
(IOException及其子类(FileNotFoundException等),都属于检测型异常;运行时异常可以处理,也可以不处理,是可选的;
所有的异常类是从 java.lang.Exception 类继承的子类)
运行时报错,提示除数不能为0
2.捕获异常
package step2;
import java.util.Scanner;
public class Task {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		/********* Begin *********/
		 try{
		System.out.println(num1/num2);}
		catch(ArithmeticException e){
          System.out.print("除数不能为0");
		}	
		/********* End *********/
	}
}
3.抛出异常
package step3;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Task {
	public static void main(String[] args)throws FileNotFoundException{	
		test();
	}
	public static void test()throws FileNotFoundException{
		File file = new File("abc");
		if(!file.exists()){		//判断文件是否存在
			//文件不存在,则 抛出 文件不存在异常
			throw new FileNotFoundException("该文件不存在");
		}else{
			FileInputStream fs = new FileInputStream(file);
		}
	}
	/********* End *********/
}
4.自定义异常
package step4;
import java.util.Scanner;
public class Task {
	/********* Begin *********/
	public static void main(String[] args)throws MyException {
		Scanner sc = new Scanner(System.in);
		String username = sc.next();
		//判断用户名
		if(username.length()<3){
			throw new MyException("用户名小于三位Exception");
		}
		else{
			System.out.println("用户名格式正确");
		}
	}
}
class MyException extends Exception{
	public MyException(){}
	public MyException(String msg){
		super(msg);
	}
}
/********* End *********/