美文网首页IT技术篇
Java基础——异常处理

Java基础——异常处理

作者: 游戏原画设计 | 来源:发表于2019-01-03 18:54 被阅读0次

    异常:程序出现了不正常的情况

    举例:

    今天天气很好,班长出去旅游。骑着偷来的摩拜。去火炉山接近大自然,吸收新鲜空气。

    问题1:火炉山塌陷了,班长及时踩住了刹车,但是去不了火炉山了。严重问题

    问题2:班长骑着偷来的摩拜,发现摩拜没气,把气给吹了起来。出发前就检查好的问题

    问题3::班长骑着摩拜在山路上惬意的行驶着,山路两边有小石子。中间是平坦的道路。

    本来一直在平坦的道路行驶是没有任何问题的,但是班长喜欢炫技,偏偏喜欢在小石子上面飙车,结果爆胎了。

    作死问题。

    程序的异常:Throwable

    严重异常:Error 我们不进行任何处理,这种问题一般是非常严重的,比如说内存进行非常严重溢出

    问题异常:Exception(RuntimeException)

    编译期异常:不是RuntimeException的异常,我们就必须处理,因为你不处理程序就不然你通过编译

    运行时异常:RuntimeException 这种问题我们可以不处理,因为这个问题是你的问题,而且这个问题的出现肯定是我们代码的不严谨造成的。需要我们修正代码

    如果程序出现了问题,我们没有做任何的处理,最后JVM会帮我们做默认的处理

    把异常的名称进行输出,原因以及出现的问题等相关信息输出到控制台

    同时还会结束程序的运行

    我们自己如何处理异常呢?

    a.try....catch...finally 自己处理

    b.throws 抛出

    try....catch...finally 异常的处理格式:

    try{

    存放可能或出现异常的代码;

    }catch(){

    异常出现之后该怎么处理的代码;

    }finally{

    不管异常是否出现,都必须要处理的代码;

    }

    变形的格式:

    try{

    存放可能或出现异常的代码;

    }catch(异常名 变量){

    异常出现之后该怎么处理的代码;

    }

    e.getMessage():返回异常的消息字符串

    e.toString():返回异常的简短描述

    java.text.ParseException : Unparseable date: "2018-02-05"

    此对象的类的name的全名路径 : 调用了getMessage的异常信息

    有些时候,我们是可以不对问题代码进行异常处理,但是又些时候我们是没有这个权限去处理某个异常

    或者说,这个异常我没有能力解决,那我就不处理了

    为了解决出错的问题,java就针对这种情况,提供了另一种方案:异常抛出

    格式:

    throws 异常类名

    注意:这个格式必须跟在方法的括号后面

    注意:

    我们尽量不要在main方法进行异常抛出。

    但是为了讲课,我会经常这样做。

    小节:

    编译期出现异常,调用者必须处理

    运行时异常,将来的调用者可以不处理

    finally:被finally控制的语句一定会被执行

    注意:如果说执行到finally之前,jvm就退出了,那么他就不会执行

    面试题:

    1.final,finally,finalize的区别?

    final:最终的意思,可以修饰类、成员变量、成员方法

    finally:异常处理的一部分,用于释放资源

    finalize:Object的一个方法,用于垃圾回收

    2.如果catch里面有return语句,请问,finally里面的代码还会被执行么?

    如果会,请问是return前,还是return后??

    会,前

    ---------------------

    Java。大家都知道,我们是学Java全栈的,大家就肯定以为我有全套的Java系统教程。没错,我是有Java全套系统教程,进扣裙【47】974【9726】所示,今天小编就免费送!~

    “我们相信人人都可以成为一个程序员,现在开始,找个师兄,带你入门,学习的路上不再迷茫。这里是ja+va修真院,初学者转行到互联网行业的聚集地。"

    相关文章

      网友评论

        本文标题:Java基础——异常处理

        本文链接:https://www.haomeiwen.com/subject/reyqrqtx.html