烟台Java培训
达内烟台中心

15265420612

热门课程

【Java基础】——异常处理

  • 时间:2017-08-30
  • 发布:烟台Java培训班
  • 来源:烟台Java培训班

    【JAVA基础】--异常处理

    烟台Java培训选培训就到达内,1000名教研人员,100名金牌讲师,拥有自己的总监团队,值得信赖的外资企业.
烟台Java培训班
    不管是在Java还是其他开发语言中,异常处理都是非常重要的部分.异常处理大大提高了我们代码的健壮性.下面我们就来学习一下Java中的异常处理机制.

    异常的定义及分类

    定义:我们的java程序也是会存在某些不正常 的情况的,这些不正常的 情况我们就统称异常.

    说起异常,你第一个想到的是不是Exception呢?其实异常远远比一个Exception类要复杂的多.Exception也不是异常的最大的父类.

    看一下异常的分类

    Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类.

    Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题.

    Exception(异常):是程序本身可以处理的异常. Exception 类有一个重要的子类 RuntimeException.RuntimeException 类及其子类表示"JVM 常用操作"引发的错误.例如,若试图使用空值对象引用、除数为零或数组越界,则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException.

    异常处理机制

    1.抛出异常

    抛出异常:当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统,异常对象中包含了异常类型和异常出现时的程序状态等异常信息.运行时系统负责寻找处置异常的代码并执行.

    (1)throws抛出异常

    throws语句用在方法定义时声明该方法要抛出的异常类型.如果抛出的是Exception异常类型,则该方法被声明为抛出所有的异常.多个异常可使用逗号分割.方法抛出异常后,抛向调用该方法的方法,由他去处理.

    (2)throw抛出异常

    throw总是出现在函数体中,用来抛出一个Throwable类型的异常.程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块.

    烟台Java培训班选培训就到达内,1000名教研人员,100名金牌讲师,拥有自己的总监团队,值得信赖的外资企业.

    2.捕获异常

    捕获异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器(exception handler).潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合.当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适 的异常处理器.运行时系统从发生异常的方法开始,依次回查调用栈中的方法,直至找到含有合适异常处理器的方法并执行.当运行时系统遍历调用栈而未找到合适 的异常处理器,则运行时系统终止.同时,意味着Java程序的终止.

    (1)try-catch语句

    关键词try后的一对大括号将一块可能发生异常的代码包起来,称为监控区域.Java方法在运行过程中出现异常,则创建异常对象.将异常抛出监控区域之 外,由Java运行时系统试图寻找匹配的catch子句以捕获异常.若有匹配的catch子句,则运行其异常处理代码,try-catch语句结束.

    (2)try-catch-finally语句

    try 块:用于捕获异常.其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块.

    catch 块:用于处理try捕获到的异常.

    finally 块:无论是否捕获或处理异常,finally块里的语句都会被执行.

    异常中的状态码

    一开始学习对异常这块并没有很重视,工作中才发现异常处理真的非常重要,好的异常处理不仅可以帮助我们快速的开发调bug,也是一种良好的编码习惯.

    在工作中的对于状态码的管理还是很重要的.下面介绍一下遇到过的异常码定义.

    当然,这些都是自己定义的.我们通过返回的状态码就可以清楚的知道是什么问题.

    小结:异常处理并不仅仅是我们try catch throw就可以的.还是要我们在工作中慢慢体会他的用法和好处.

    烟台Java培训班选培训就到达内,1000名教研人员,100名金牌讲师,拥有自己的总监团队,值得信赖的外资企业.

烟台Java培训班

上一篇:Java程序员的路在哪里?
下一篇:0基础学语言,入门算法基础

达内携手电子工业出版社,共同打造高品质青少年IT教育图书

达内携手惠普、英特尔,共同打造引领数字化职业教育解决方案

第四届“达内发现杯”大学生互联网软件设计大赛圆满落幕

烟台java培训班:人工智能优先取代的十大职业

选择城市和中心
贵州省

广西省

海南省

达内教育

有位老师想和您聊一聊