• J2SE基础夯实系列之异常体系


               Exception体系包括RuntimeException体系和其他非RuntimeException的体系 :
    ① RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。 
    ②其他非RuntimeException(IOException等等):这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。

    所以运行时异常是自动给报出来的,是程序的错误,是必须要解决的问题,try catch语句无法解决,但是非运行时异常,例如IO相关的,必须使用try catch语句处理。



    如果一个新手去一家软件公司面试,运行时异常与编译时异常是有很大概率要被问到的,这些属于基本概念。
    1.RuntimeException,也就是运行时异常,表示你的代码本身存在BUG,比如你提到的ArrayIndexOutOfBoundsException,数组下标越界,
    这个属于代码有问题,数组定义的长度不够实际使用,不处理肯定会报错,如果你操作某个模块发现能正常运行,
    那只是因为代码还没跑到这个错误的地方而已。。控制台一旦报RuntimeException,就必须要处理。。
    没有例外的。而且,处理RuntimeException,不是try-catch能解决的。。try-catch在这里使用毫无意义。 
    2.不是RuntimeException,就是编译时异常,异常只有这两种了。比如你在处理文件流时的I/O问题,就属于编译时异常。
    这个时候用thr{}catch 来捕获或者 throws即可。 3.error,就不在这里赘述了。 
    
    根据实际开发经验的结论,纯手敲。。
    NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异常。
     IllegalArgumentException - 传递非法参数异常。 ArithmeticException - 算术运算异常 
    ArrayStoreException - 向数组中存放与声明类型不兼容对象异常 IndexOutOfBoundsException - 下标越界异常 
    NegativeArraySizeException - 创建一个大小为负数的数组错误异常 NumberFormatException - 数字格式异常 、
    SecurityException - 安全异常 UnsupportedOperationException - 不支持的操作异常 

  • 相关阅读:
    jupyterlab数据处理
    系统监测模块
    登录验证码的实现
    编码格式检测chardet模块
    图像处理pillow模块
    内存数据的读取
    力扣(LeetCode)728. 自除数
    力扣(LeetCode)709. 转换成小写字母
    Java 层序创建和遍历二叉树
    力扣(LeetCode) 849. 到最近的人的最大距离
  • 原文地址:https://www.cnblogs.com/allenzhaox/p/3201863.html
Copyright © 2020-2023  润新知