知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

java异常抛出的含义

发表时间:2022-03-25来源:网络

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  数组中包含不兼容的值抛出的异常
S   操作数据库异常类
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,

 

 

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

问问

 

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜