Android开发

【Android开发】Java 异常 Exception

2016-07-24  本文已影响275人  誓词倾城

前言: Java 中 Exception 继承自Throwable。在程序的编译、运行过程中,JVM检测、捕获这些异常,保证程序运行的健壮性。

Exception 分类

Exception 总共有两大类:

  1. Unchecked Exception(Runtime Exception)

提醒:所有的RuntimeException都是Unchecked Exception,其余的全是CheckedException.
区别:Unchecked 与Checked 区别在于,对于CheckedException,我们必须对其检查处理,也就是必须添加try…catch…捕获异常、或者throw 抛出异常。而对于UncheckedException,可以选择处理,也可以不处理。推荐不处理这些异常。

常见异常.png

异常处理

在以下特殊情况下,finally块不会被执行:
1)在finally语句块中 发生了异常。
2)try或者catch中System.exit(0)退出程序。
3)程序所在的线程死亡。
4)计算机断电、失火、或遭遇病毒攻击

异常处理.png
//该代码直接借用的@Dandan Meng 的,他写的很棒,我就没有再去创建
public class ExceptionTest
{
    public static void main(String[] args)
    {
        int c = 0;
        try
        {
            int a = 3;
            int b = 0;

            // 这块代码出现了异常 ,除数不能为0 
            c = a / b;
            // 那么异常之后的代码都不会被执行
            System.out.println("Hello World");
        }
        catch (ArithmeticException e)
        {
            e.printStackTrace();
        }
        finally
        {
            //不管有没有发生异常,finally语句块都会被执行
            System.out.println("Welcome");
        }

        System.out.println(c);
        // 当b为0时,有异常,输出为c的初始值0
    }
}

小结

关于异常,知识点不是很多,网络上资料很全面,我写的这些大部分摘抄自网络,下面附上比较不错的参考博客
参考链接:
http://www.cnblogs.com/mengdd/archive/2013/02/03/2890923.html

https://docs.oracle.com/javase/8/docs/api/overview-tree.html
https://www.ibm.com/developerworks/cn/java/j-lo-finally/

上一篇 下一篇

猜你喜欢

热点阅读