欢迎来到知了汇智!
联系电话:知了汇智-电话号码 028-62016472 / 13228113191

Java常见异常类含义与异常处理机制-知了汇智

Java常见异常类含义与异常处理机制

  1. runtimeException子类:

  ArrayIndexOutOfBoundsException
  数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
  ArithmeticException
  算术条件异常。譬如:整数除零等。
  NullPointerException
  空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等
  ClassNotFoundException
  找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
  NegativeArraySizeException
  数组长度为负异常
  ArrayStoreException
  数组中包含不兼容的值抛出的异常
  SecurityException
  安全性异常
  IllegalArgumentException
  非法参数异常

 

  2.IOException

  IOException  操作输入流和输出流时可能出现的异常。
  EOFException   文件已结束异常
  FileNotFoundException   文件未找到异常

 

  3.其他

  ClassCastException    类型转换异常
  ArrayStoreException  数组中包含不兼容的值抛出的异常
  SQLException   操作数据库异常类
  NoSuchFieldException   字段未找到异常
  NoSuchMethodException   方法未找到抛出的异常
  NumberFormatException    字符串转换为数字抛出的异常
  StringIndexOutOfBoundsException 字符串索引超出范围抛出的异常
  IllegalAccessException  不允许访问某类异常
  InstantiationException  当应用程序试图使用Class类中的newInstance()方法创建一个类的实例,而指定的类对象无法被实例化时,抛出该异常

 

  异常处理机制:

  对于非运行时异常,必须要对其处理,处理的方式有两种:
  第一种是使用 try{...}catch(){...}finally{...}进行捕获,
  try-catch-finally 规则(异常处理语句的语法规则):
  1)  必须在 try 之后添加 catch 或 finally 块。try 块后可同时接 catch 和 finally 块,但至少有一个块。
  2) 必须遵循块顺序:若代码同时使用 catch 和 finally 块,则必须将 catch 块放在 try 块之后。
  3) catch 块与相应的异常类的类型相关。
  4) 一个 try 块可能有多个 catch 块。若如此,则执行第一个匹配块。即Java虚拟机会把实际抛出的异常对象依次和各个catch代码块声明的异常类型匹配,如果异常对象为某个异常类型或其子类的实例,就执行这个catch代码块,不会再执行其他的 catch代码块(顺序为从小到大,既子类行catch块要放在父类型catch块的前面,否则将报错,因为父类放在子类前,将全部被父类捕获,紫烈无法捕获而报错)
  5) 可嵌套 try-catch-finally 结构。
  6) 在 try-catch-finally 结构中,可重新抛出异常。
  7) 除了下列情况,总将执行 finally 做为结束:JVM 过早终止(调用 System.exit(int));在 finally 块中抛出一个未处理的异常;计算机断电、失火、或遭遇病毒攻击。
  第二种是在调用该会产生异常的方法所在的地方声明 throws Exception,

Java常见异常类含义与异常处理机制

  对于运行时异常,我们可以对其进行处理,也可以不对其进行处理,建议不对其进行处理

        版权声明:本文来源于网络,由知了堂搜集整理,仅供大家学习Java时使用

132 2811 3191
预约免费试学
点击咨询
预约试学