java学习day12--异常

异常

    什么是异常?

      异常就是程序运行过程中出现了不正常现象导致程序中断。在java中,把各种异常现象进行了抽象形成异常(Exception)。异常类(Exception)分为:受检异常(编译异常)运行时异常类(RuntimeException)。

 

    对于异常我们一般都会进项预处理,值得一提的是,进行预处理的异常只有受检异常(编译异常)

 

    异常处理有两种方式:捕获处理抛出处理:

      捕获处理:

        格式:

          try{

            对可能产生异常的代码块进行检视

            }catch(异常类型 e1){

                  e1.printStackTrace()

              }finally{

            }

 

        关于try:

                  如果try代码块的某条语句产生了异常,就立即跳转到catch子句执行,try代码块后面的代码不再执行

                  try代码块可能会有多个受检异常需要预处理,可以通过多个catch子句分别捕获。

            关于catch:

                  在开发阶段,一般的处理方式要么获得异常信息,要么打印异常栈跟踪信息

                  调用 e1.printStackTrace()方法

                  在部署后,一般把异常信息打印到日志文件中

                  如果捕获的异常类型有继承关系,则先捕获子异常,再捕获父异常;若没有继承关系,则没有先后顺序

            关于finally:

                  不管是否产生异常,finally语句总会执行。一般情况下。会把释放系统资源的代码放到finally中

 

 

        抛出处理:

          格式:

             方法名throws 异常名{

              }

          

          谁调用这个方法,谁负责处理该异常。

          在定义方法时,把异常抛出是为了提醒方法的使用者,有异常需要预处理。

 

 

        异常处理的选择问题:    

          一般情况下,在调用其他方法时,如果被调用的方法有受检异常需要预处理,选择捕获处理

          在定义方法时,如果方法体中有受检异常需要预处理,可以选择捕获处理也可以选择抛出处理

 

posted @ 2019-10-11 21:56  发育中的程序猿  阅读(121)  评论(0编辑  收藏  举报