zoukankan      html  css  js  c++  java
  • ERROR, Exception, RuntimeException

    狗脸 ERROR,一般由虚拟机抛出,例如OOM、系统中的内部错误以及资源耗尽的情形。这种情形程序员不用抛,想抛也抛不了。。

    狗脸 Exception,是所有异常的大爷(父类),这里我将他简单的划分为:RuntimeException和non-RuntimeException。(前者称为unchecked异常,后者称为checked异常)

    狗脸 RuntimeException体系,一般都是程序员的错。例如,错误的类型转换、数组越界访问和试图访问空指针等等。

    • 这种异常,不catch的话,eclipse不会报错,异常会一直往上抛,直到线程停掉。用于调试,挺好的。
    • 当然也可以catch,进行些处理。无视自己已经酿成的错误,呵呵,这样会不会有点鸵鸟了?
    • 程序员可以自己在代码中,多加些判断,检查数组下标和数组边界来避免数组越界访问等。

    狗脸 non-RuntimeException体系

    • 这类异常,往往是外部因素引起的,非程序员本身错误。例如,试图从文件尾后读取数据等
    • 要抛,且必须要在某层捕捉住。

    RuntimeException与Error可以在任何代码中产生,它们不需要由程序员显示的抛出,一旦出现错误,那么相应的异常会被自动抛出。遇到Error,程序员一般无能为力。遇到RuntimeException,那么一定是程序存在逻辑错误,要对程序进行修改。

    checked异常是由程序员抛出的,这分为两种情况:程序员调用会抛出异常的库函数(库函数的异常由库程序员抛出);客户程序员自己使用throw语句抛出异常。只有已检查异常才是程序员所关心的,程序应该且仅应该抛出或处理已检查异常。

    覆盖父类某方法的子类方法不能抛出比父类方法更多的异常,所以,有时设计父类的方法时会声明抛出异常,但实际的实现方法的代码却并不抛出异常,这样做的目的就是为了方便子类方法覆盖父类方法时可以抛出异常。

    http://hi.baidu.com/ailongni/blog/item/ce75c734ec11cb1990ef3988.html

  • 相关阅读:
    vue项目实现路由按需加载
    常用的meta标签
    聊聊https
    Centos 7 忘记root密码修改方法
    find常用命令
    linux上的mysql忘记密码
    kaill 安装zenmap软件
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver'解决
    centos7 开机执行脚本或者命令
    Linux下载常用命令
  • 原文地址:https://www.cnblogs.com/alipayhutu/p/2520307.html
Copyright © 2011-2022 走看看