ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java异常

2022-01-24 21:33:11  阅读:143  来源: 互联网

标签:lang java 方法 finally 异常 final


1.throw 和throws 的区别

throw 表示方法中抛出某种异常,如果异常对象是非runtimeException,则需要在方法上申明加上该异常的抛出,即需要加上throws语句或者在try catch 处理该异常,否则编译报错。

throws 方法的定义使用 throws 表示这个 方法可能抛出某种异常

需要由方法的调用者进行异常处理

2.final、finally、finalize 有什么区别?

final

final修饰类,表示该类不可以被继承

final修饰变量,表示该变量不可以被修改,只允许赋值一次

final修饰方法,表示该方法不可以被重写

finally

finally是java保证代码一定要被执行的一种机制。

比如try-finally或try-catch-finally,用来关闭JDBC连接资源,用来解锁等等

finalize

finalize是Object的一个方法,它的目的是保证对象在被垃圾收集前完成特定资源的回收。

不过finalize已经不推荐使用,JDK9已经标记为过时。
 

3.异常

error 和exception

error 不可控制的,经常来自于表示系统错误或者底层资源错误,如果可能,应该在系统级被捕捉

Exception

1.可以是可被控制(checked) 或不可控制的(unchecked)。

2.表示一个由程序员导致的错误。

3.应该在应用程序级被处理。

java 定义了两种异常: checkedException uncheckedException 运行时异常和非运行时异常

runtimeException

 java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。

● java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序试图通过字符串来加载某个类时可能引发异常。

● java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。

● java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。

● java.lang.IllegalArgumentException 方法传递参数错误。

● java.lang.ClassCastException 数据类型转换异常。

● java.lang.NoClassDefFoundException 未找到类定义错误。

● SQLException SQL 异常,常见于操作数据库时的 SQL 语句错误。

● java.lang.InstantiationException 实例化异常。

● java.lang.NoSuchMethodException 方法不存在异常。

标签:lang,java,方法,finally,异常,final
来源: https://blog.csdn.net/baidu_38589923/article/details/105606089

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有