java 异常
Posted yimian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 异常相关的知识,希望对你有一定的参考价值。
###异常(异常的概述和分类) * A:异常的概述 * 异常就是Java程序在运行过程中出现的错误。 * B:异常的分类 * 通过API查看Throwable * Error * 服务器宕机,数据库崩溃等 * Exception C:异常的继承体系 * Throwable * Error * Exception * RuntimeException ###异常(JVM默认是如何处理异常的) * A:JVM默认是如何处理异常的 * main函数收到这个问题时,有两种处理方式: * a:自己将该问题处理,然后继续运行 * b:自己没有针对的处理方式,只有交给调用main的jvm来处理 * jvm有一个默认的异常处理机制,就将该异常进行处理. * 并将该异常的名称,异常的信息.异常出现的位置打印在了控制台上,同时将程序停止运行 * B:案例演示 * JVM默认如何处理异常 ###异常(try...catch的方式处理异常1) * A:异常处理的两种方式 * a:try…catch…finally * try catch * try catch finally * try finally * b:throws * B:try...catch处理异常的基本格式 * try…catch…finally * C:案例演示 * try...catch的方式处理1个异常 ###异常(try...catch的方式处理异常2) * A:案例演示 * try...catch的方式处理多个异常 * JDK7以后处理多个异常的方式及注意事项
/** * * A:案例演示 * try...catch的方式处理多个异常 * JDK7以后处理多个异常的方式及注意事项 * * 安卓,客户端开发,如何处理异常?try{}catch(Exception e){} * ee,服务端开发,一般都是底层开发,从底层向上抛 * * try后面如果跟多个catch,那么小的异常放前面,大的异常放后面,根据多态的原理,如果大的放前面,就会将所有的子类对象接收 * 后面的catch就没有意义了 */ public static void main(String[] args) { //demo1(); int a = 10; int b = 0; int[] arr = {11,22,33,44,55}; //JDK7如何处理多个异常 try { System.out.println(a / b); System.out.println(arr[10]); } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) { //jdk7异常方式 System.out.println("出错了"); } } public static void demo1() { int a = 10; int b = 0; int[] arr = {11,22,33,44,55}; try { System.out.println(a / b); System.out.println(arr[10]); arr = null; System.out.println(arr[0]); } catch (ArithmeticException e) { System.out.println("除数不能为零"); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("索引越界了"); } catch (Exception e) { //Exception e = new NullPointerException(); System.out.println("出错了"); } System.out.println("over"); } }
###异常(编译期异常和运行期异常的区别)
* A:编译期异常和运行期异常的区别
* Java中的异常被分为两大类:编译时异常和运行时异常。
* 所有的RuntimeException类及其子类的实例被称为运行时异常,其他的异常就是编译时异常
* 编译时异常
* Java程序必须显示处理,否则程序就会发生错误,无法通过编译
* 运行时异常
* 无需显示处理,也可以和编译时异常一样处理
* B:案例演示
* 编译期异常和运行期异常的区别
以上是关于java 异常的主要内容,如果未能解决你的问题,请参考以下文章
Android Java:在 onCreateView() 中返回空视图的片段
java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段