我是靠谱客的博主 伶俐花生,最近开发中收集的这篇文章主要介绍Java- 受检的异常(checked Exception),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

受检的异常

  • Exception分为两种
    1. RuntimeException及其子类,可以不明确处理,例如边界异常,解析整型时格式异常。
    2. 否则,称为受检的异常(checked Exception),更好的保护安全性
  • 受检的异常,要求明确进行语法处理

    • 要么捕获(catch)
    • 要么抛出(throw):在方法的签名后面用throws xxx来声明
      • 在子类中,如果要覆盖父类的一个方法,若父类中的方法声明了throws异常,则子类的方法也可以throws异常
      • 可以抛出子类异常(更具体的异常),但不能抛出更一般的异常
        public class ExceptionTrowsToOther{
        public static void main(String[] args){
        try{
        System.out.println("====Before====");
        readFile();
        System.out.println("====After====");
        }catch(IOException e){ System.out.println(e); }// catch the exception
        }
        public static void readFile()throws IOException {// throws exception
        FileInputStream in=new FileInputStream("myfile.txt");
        int b;
        b = in.read();
        while(b!= -1)
        {
        System.out.print((char)b);
        b = in.read();
        }
        in.close();
        }
        }
        -----------OUTPUT-----------
        ====Before====
        java.io.FileNotFoundException: myfile.txt (The system cannot find the file specified)

try…with…resource

try(类型 变量名=new类型() ){
...
}

自动添加了finally{ 变量.close(); }对可关闭的资源进行关闭操作


static String ReadOneLine1(String path){
BufferedReader br=null;
try {
br=new BufferedReader(new FileReader(path));
return br.readLine();
} catch(IOException e) {
e.printStackTrace();
} finally {
if(br!=null){
try{
br.close();
}catch(IOException ex){
}
}
}
return null;
}
static String ReadOneLine2(String path)
throws IOException
{
try(BufferedReader br= new BufferedReader(new FileReader(path))){
return br.readLine();
}
}

上面两个函数ReadOneLine1及ReadOneLine2效果相同。

最后

以上就是伶俐花生为你收集整理的Java- 受检的异常(checked Exception)的全部内容,希望文章能够帮你解决Java- 受检的异常(checked Exception)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部