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语句块中。
  • 异常往往在高层处理。

转载于:https://www.cnblogs.com/zxfei/p/10745086.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值