Java基础--异常

91 阅读1分钟

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ss2R7RrR-1624178523767)(en-resource://database/1195:1)]

  • RuntimeException运行时异常,及其子类统称非受检查异常,如:、NPE空指针异常、NumberFormatException字符串转换异常、ArrayInedxOutOfBoundsException数组越界、ClassCastException类型转换错误、ArithmeticException算术错误等。

  • 三种情况finally不会执行

    • try或finally中使用了System.exit(int)退出程序,但是若 System.exit(int)在异常语句之后,finally还会执行。
    • 程序所在的线程死亡。
    • 关闭CPU。
  • try块写retrn finally会执行吗?

    • 会,finally在try 的return之间执行。

当 try 语句和 finally 语句中都有 return 语句时,在方法返回之前,finally 语句的内容将被执行,并且 finally 语句的返回值将会覆盖原始的返回值。

//若v=2, 最终返回0而不是4
public static int funV (int v){
    try{
        return v*v;
    }finally{
        if(v == 2)
            return 0;
        }
}