作家
登录

深入探讨Java中的异常与错误处理

作者: 来源: 2017-05-11 10:48:14 阅读 我要评论

 深刻商量Java中的异常与缺点处理

Java中的异常处理机制已经比较成熟,我们的Java法度榜样到处充斥了异常的可能,如不雅对这些异常不做预先的处理,那么将来法度榜样崩溃就无大年夜调试,很难找到异常地点的地位。本文将商量一下Java中异常与缺点的处理办法,一路来看看。

异常与缺点:

例3. 异常链的应用及异常损掉

异常:

在Java中法度榜样的缺点主如果语法缺点和语义缺点,一个法度榜样在编译和运行时出现的缺点我们同一称之为异常,它是VM(虚拟机)通知你的一种方法,经由过程这种方法,VM让你知道,你(开辟人员)已经犯了个缺点,如今有一个机会来修改它。Java中应用异常类来表示异常,不合的异常类代表了不合的异常。然则在Java中所有的异常都有一个基类,叫做Exception。

缺点:

它指的是一个合理的应用法度榜样不克不及截获的严重的问题。大年夜多半都是反常的情况。缺点是VM的一个故障(固然它可所以任何体系级的办事)。所以,缺点是很难处理的,一般的开辟人员(当然不是你)是无法处理这些缺点的,比如内存溢出。 和异常一样,在Java顶用缺点类来表示缺点,不合的缺点类代表了不合的缺点。 然则在Java中所有的缺点都有一个基类,叫做Error。

综上,我们可以知道异常和缺点最本质的差别就是异常能被开辟人员处理而缺点时体系本来自带的,一般无法处理也不须要我们法度榜样员来处理。

1.一个异常是在一个法度榜样履行过程中出现的一个事宜,它中断了正常指令的运行

为什么只是打印出来了ExceptionC而没有打印出ExceptionB呢?这个照样本身分析一下吧!

2.缺点,偏离了可接收的代码行动的一个动作或实例

异常的构造分类:

1、运行时异常(未检查异常)

2、编译时异常(已检查异常)

运行异常等于RuntimeException;其余的全部为编译异常

在Java中异常Exception和缺点Error有个合营的父类Throwable。

Error Exception

runtimeException几个子类

1、 java.lang.ArrayIndexOutOfBoundsException

数组索引越界异常。当对数组的索引值为负数或大年夜于等于数组大年夜小时抛出。

2、java.lang.ArithmeticException

算收据件异常。譬如:整数除零等。

3、java.lang.NullPointerException

空指针异常。当应用试图在请求应用对象的处所应用了null时,抛出该异常。譬如:调用null对象的实例办法、拜访null对象的

属性、计算null对象的长度、应用throw语句抛出null等等

找不到类异常。当应用试图根据字符串情势的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出

该异常。


对异常的处理:

try{}catch{}

try{}catch{}finally{}无论有无异常finally代码块都邑被履行

try{}finally{}也是可以组合应用的然则catch{}finally{}弗成以

留意:在持续关系中,子类覆盖父类的办法,抛出异常典范围不克不及比父类更宽泛

异常的应用

在异常的应用这一部分主如果演示代码,都是我们平常写代码的过程中会碰到的(当然只是一小部分),抛砖引玉吗!

例1. 这个例子重要经由过程两个办法比较来演示一下有了异常以后代码的履行流程。

  1. public static void testException1() { 
  2.      int[] ints = new int[] { 1, 2, 3, 4 }; 
  3.      System.out.println("异常出现前"); 
  4.      try { 
  5.           System.out.println(ints[4]); 
  6.           System.out.println("我还有幸履行到吗");// 产生异常今后,后面的代码不克不及被履行 
  7.      } catch (IndexOutOfBoundsException e) { 
  8.           System.out.println("数组越界缺点"); 
  9.      } 
  10.      System.out.println("异常出现后"); 
  11.  
  12. /*output
  13. 异常出现前 
  14. 数组越界缺点 
     1/6    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      当今世界最有价值的资源是什么?不是石油,而是数据

    《经计揭捉?人》揭橥封面文┞仿称,数据已经代替石油成为当当代界最有价值的资本,而面对这一新的变更,反垄断监管者也应当改变思维。以下为原文内容:特斯拉收集的无人驾驶汽车数据越多>>>详细阅读


    本文标题:深入探讨Java中的异常与错误处理

    地址:http://www.17bianji.com/lsqh/35144.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)