java day 15

异常

JW}AFRQ3_N5ZJETUO0J7SQ.png
  • Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception) 和检查异常(Checked Exception)。

  • Error与Exception
    Error是程序无法处理的错误这些异常发生时, Java虚拟机(JVM)一般会选择线程终止。
    Exception是程序本身可以处理的异常,这种异常分两大类运行时异常和非运行时异常。 程序中应当尽可能去处理这些异常。

  • 运行时异常和非运行时异常
    运行时异常也称是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。
    非运行时异常也称检查异常,从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。
    对于非运行时异常(checked exception)必须要对其进行处理,否则无法通过编译。
      处理方式有两种:
      1.使用try..catch..finally进行捕获;(一个try后面可以跟多个catch,但不管多少个,最多只会有一个catch块被执行。)
      2.在产生异常的方法声明后面写上throws某一个Exception类型,如throws Exception,将异常抛出到外面一层去。

  • 自定义异常
      所谓自定义异常,通常就是定义一个类,去继承Exception类或者它的子类。因为异常必须直接或者间接地继承自Exception类。
      通常情况下,会直接继承自Exception类,一般不会继承某个运行时的异常类。
      自定义异常可以用于处理用户登录错误,用户输入错误提示等。

  • throws关键字和throw关键字有什么区别和联系
    throw用来在方法体内抛出异常,而throws则是方法声明处声明异常。两者有着一定的联系,当一个方法使用throw抛出异常时,要么使用try/catch捕获异常,要么用throws进行声明,否者会出现编译错误。

  • 今天学习了异常的类型和异常的处理,了解到了一些常见的异常,如java.lang.nullpointerexception(程序遇上了控制针)、java.lang.arrayindexoutofboundsexception(数组下标越界)等异常。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 通俗编程——白话JAVA异常机制 - 代码之道,编程之法 - 博客频道 - CSDN.NEThttp://blog...
    葡萄喃喃呓语阅读 3,192评论 0 25
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,261评论 0 2
  • 一年前看得一句顶一万句,看完泪流满面 世界上很多事情,件件藏着委屈 这本书被誉为""百年孤独"其实也不无道理,...
    华秀一阅读 7,437评论 64 84