/*
处理异常的第二种方式:捕捉 try...catch..
语法: try{
可能出现的异常的代码;
}catch(异常类型1 变量){
处理异常的代码;
}catch(异常类型2 变量1){
处理异常的代码
}
1.catch语句块可以写多个
2.但是从上到下catch,必须从小类型异常到大类型异常进行捕捉
3.上面的代码出现了异常,try语句块的代码不再执行,直接进去catch语句
*/
import java.io.*;
public class fuck4{
public static void main(String[] args){
//以下代码编译无法通过,因为FileNotFoundException没有处理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(ArithmeticException e){ //捕捉的异常是算术异常
}
//编译通过
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(FileNotFoundException e){
}
//以下程序无法通过
//因为还有更多的IOException没有处理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}
//编译可以通过
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}catch(IOException e){
}
try{
//程序执行到这里发生了FileNotFoundException类型的异常
//JVM会自动创建一个FileNotFoundException 的对象,
//将该对象中的内存地址赋给catch语句中的变量
FileInputStream fls=new FileInputStream("abc");
//上面的代码出现了异常,try语句块的代码不再继续执行,直接进入catch语句块中执行
System.out.println("tttttt");
fls.read();
}catch(FileNotFoundException e){
//e内存地址指向堆中的那个对象是FileNotFoundException类型的
System.out.println("读取的文件不存在");
//FileNotFoundException将Object中的toString方法重写
System.out.println(e);
}catch(IOException e){
System.out.println("其他IO异常");
}
System.out.println("ABC");
}
}
处理异常的第二种方式:捕捉 try...catch..
语法: try{
可能出现的异常的代码;
}catch(异常类型1 变量){
处理异常的代码;
}catch(异常类型2 变量1){
处理异常的代码
}
1.catch语句块可以写多个
2.但是从上到下catch,必须从小类型异常到大类型异常进行捕捉
3.上面的代码出现了异常,try语句块的代码不再执行,直接进去catch语句
*/
import java.io.*;
public class fuck4{
public static void main(String[] args){
//以下代码编译无法通过,因为FileNotFoundException没有处理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(ArithmeticException e){ //捕捉的异常是算术异常
}
//编译通过
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(FileNotFoundException e){
}
//以下程序无法通过
//因为还有更多的IOException没有处理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}
//编译可以通过
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}catch(IOException e){
}
try{
//程序执行到这里发生了FileNotFoundException类型的异常
//JVM会自动创建一个FileNotFoundException 的对象,
//将该对象中的内存地址赋给catch语句中的变量
FileInputStream fls=new FileInputStream("abc");
//上面的代码出现了异常,try语句块的代码不再继续执行,直接进入catch语句块中执行
System.out.println("tttttt");
fls.read();
}catch(FileNotFoundException e){
//e内存地址指向堆中的那个对象是FileNotFoundException类型的
System.out.println("读取的文件不存在");
//FileNotFoundException将Object中的toString方法重写
System.out.println(e);
}catch(IOException e){
System.out.println("其他IO异常");
}
System.out.println("ABC");
}
}