异常

异常

java的异常主要依靠try, catch, finally, throw, throws五个关键字。

image
image

捕获异常的时候记得要先捕获小异常,再捕获大异常

finally

当java程序在try块或catch块遇到return或throw语句时,说明方法已经执行结束,这时方法先不返回,而是

看代码中是否含有finally块,如果没有,则直接返回return或throw语句中的内容,结束方法。如果有,则先

执行finally块中的方法,再返回try或catch块中执行return 或 throw语句。但是如果finally块中含有

return或者throw语句,则直接会在finally语句中结束方法,不会在返回try或者catch块中任何代码。

增强型自动关闭资源的try语句


public class AutoCloseTest {

    public static void main(String[] args) throws IOException {

        try(

        BufferedReader br = new BufferedReader(new FileReader("text.java"));

        PrintStream ps = new PrintStream(new FileOutputStream("a.txt"))){

            System.out.println(br.readLine());

            ps.println("lalla");

        }

    }

}

try关键字后面紧跟一对括号,括号可以声明。初始化一个或多个资源,此处的资源必须是那些程序结束时需要

显示关闭的资源(比如说:数据库连接,网络连接等)

try语句在该语句结束时自动关闭这些资源。

且资源实现类必须实现AuthCloseable或Closeable接口,实现着两个接口就必须实现close()方法

throws

使用throws声明抛出异常,一般是当前不知道如何处理该异常,应有上一级调用者处理。

常用的异常

  • RuntimeExcetpion

    java.lang.ArrayIndexOutOfBoundsException:数组越界

    java.lang.AirthmeticException: 算数条件异常(÷0)

    java.lang.NullPointerException:空指针异常

    java.lang.ClassNotFoundException:找不到类异常

    java.lang.NegativeArraySizeException:数组长度为负异常

    java.lang.ArrayStoryException:数组长包含不兼容的值抛出异常

    java.lang.SecurityException:安全性异常

    java.lang.IllegalArgumentException:非法参数异常

  • IOExcetption

    IOException:操作输入流和输出流出现的异常

    EOFException:文件已结束异常

    FileNotFoundException:文件未找到异常

  • 其他

    ClassCastException:类型转换异常

    ArrayStorException:数组中包含不兼容的值

    SQLException:数据库操作异常类

    NoSuchFieldException:字段未找到

    NoSuchMethodException:方法未找到

    NumberFormatException:字符串转换为数字抛出的异常

    StringIndexOutOfBoundException:字符串索引超出范围抛出的异常

    IllegalAccessException:不允许访问某类

    InstantiationException:当时图使用Class类中newInstance()方法创建一个累的实例,而指定

    的类对象无法被实例化

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容