Java常用API异常处理机制

  1.为什么要有异常处理机制?

       来避免一些小问题的出现而影响整个系统的运行

  2.如何避免?

       整理问题,进行分析,分类,进行相应的处理---作出对应处理办法--编写对应的类--编写功能处理对应问题

  3.Java提供了哪些类?

       类:Throwable  包:java.lang

       含义:是所有的错误和异常的基类,白话文:Java中所有问题处理类的起源

       类的使用:

          普通的类,提供的构造方法和普通处理业务的方法


          其直接子类:

          错误:Error

             不应该尝试去处理的严重问题,必须解决程序才能运行

             有很多的子类--分别描述不同的具体问题

          异常:Exception

             应该尝试着获取问题,进行相应处理,不影响整个程序运行

             --可以通过业务避免很多的子类--分别描述不同的具体问题

  4.Java代码中发生的问题探索

       Error:写错代码,内存溢出等等,很严重,必须纠正为正确代码,程序才能运行

       需要做到:当控制台打印出现java.lang.XXXXError的时候,代码编写有问题,必须找到修改完,程序才能运行


       Exception:异常--程序执行的时候有可能会发生问题【重点】

             一般是数据和语法错误,除数为零,数据类型不符合等等

             对于异常的出现,在我们传入正确数据的前提下,程序是可以正常运行的

             他是我们可以在使用的过程中编写一些算法避免

  5.提供了帮助我们简化处理异常的方法

       Error:只能修改代码,没办法处理

       Exception:可以处理,程序执行过程中偶然出现的,检测到他的出现,然后去做些事情去避免

       Java中如何处理:

             提供了一套处理业务代码块

            1) try{

                可能出现异常的代码块

            2) }catch(出现的异常对象){
      
                出现异常的解决方法
        
            3)}finally{

                不管出不出现异常,都要补一些补救的事情

                 }


       使用方式:

            InputMismatchException

            ArithmeticException

          try{}:主要的功能就是将可能出现异常的代码块圈起来,进行监测

          catch(异常类类型 对象名){}:当try检测到异常发生的时候,虚拟机就会创建对应异常类对象

        交给catch根据类型捕获,将异常对象作为参数自动传入,我们就可以获取异常原来信息,调

        用异常对象的方法,进行业务处理

            自定在catch块中,自定义业务功能


       没有发生异常--代码执行过程:

            直接按照代码顺序执行,不执行catch块

       异常发生后-代码执行过程:

            当try块中检测到异常发生---catch直接捕获异常--执行catch块内容【异常处理】--继续向下代码执行

       finally{}:放在异常处理组合最后面,不管发不发生异常,都会执行,关闭之前开启的流通到数据

 
       try catch finally的组合

            try()---一个或多个catch

            备注:

               A.当try检测到一个异常发生,try中的代码块执行到此结束,直接跳转到对应catch块执行

                  执行完程序往下继续走
                  
               B.可以添加一个Exception对象的块,用于检测所有的异常对象

                   必须放到最后的catch块中,不能放前面

               C.catch块的执行先后顺序的:从上往下

                   异常对象范围

                      父类>子类

       一个try----一个或者多个catch块---一个finally块  没有异常正常执行业务,有了异常就捕获操作

                       最终用finally进行通道关闭


       一个try---一个finally块    不管有没有异常都不处理,一定要关闭通道,主要目的释放资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值