Java异常学习总结二

异常的处理方式

方式一:捕获异常(try-catch-finally)

捕获异常是通过三个关键词来实现的:try-catch-finally。用try来执行一段程序,如果出现异常,系统抛出一个异常,可以通过它的类型来捕捉(catch)并处理它,最后一步是通过finally语句为异常处理提供一个统一的出口,finally指定的代码都要被执行(catch语句可以有多条;finally语句最多只能有一条,根据自己的需要可有可无)。

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 * @author xiaofei 异常处理经典代码try-catch-finally
 */
public class Exception {

    public static void main(String[] args) {
        FileReader reader = null;
        try {
            // 读取E盘下的a.txt文件
            reader = new FileReader("e:/a.txt");
            char c = (char) reader.read();
            System.out.println(c);
            // 多个catch,子类在前,父类在后
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {// 关闭资源
            try {
                if (reader != null) {// 避免空指针异常
                    reader.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }// main

}  
方式二:声明异常(throws子句)
import java.io.FileReader;
import java.io.IOException;

/**
 * @author xiaofei 异常处理经典代码try-catch-finally
 */
public class Exception {

    public static void main(String[] args) throws IOException {
        FileReader reader = null;

        // 读取E盘下的a.txt文件
        reader = new FileReader("e:/a.txt");
        char c = (char) reader.read();
        System.out.println(c);

        // 关闭资源
        if (reader != null) {// 避免空指针异常
            reader.close();
        }
    }// main

}  

使用异常机制的建议

  • 要避免使用异常处理代替错误处理,这样会降低程序的清晰性,并且效率低下。
  • 处理异常不可以代替简单测试--只是在异常情况下使用异常机制。
  • 不要小粒度的异常处理--应该将整个任务包装在一个try语句块中。
  • 异常往往在高层处理。
上一篇:android – 加快下载时间


下一篇:FileReader