在Throwable中有两个子类

1.Error类

2.Exception类

在Error类中还存在很多的子类,Error异常代码严重错误,比如JVM内部出现错误,一般这种错误程序是不法处理的

具体类的详细信息请查阅java se帮助文档

在开发中不要使用Throwable类,因为它的继承体系太大了,这些异常我不需要要全部只记住,只是在发生异常的时候,查阅帮助文档即可,但是在Exception中出先的异常我们能做出处理,就要尽量的做出处理。

捕获异常:

try{

可能发生异常的代码

比如:Inti=1/0;

}

catch( Exception e){

捕获到的异常,在这里我们可以做出异常处理,当捕获到一个异常,也就意味这创建了一个异常对象

}finaly{

无论什么时候都会执行,在这里如果是操作数据库,常常就会在这里关闭数据库

}

声明异常:

可以在方法上使用throws关键字来声明异常和抛出异常,仅仅只是声明异常,而对异常不做出处理,并且throws可以抛出多个异常,如果在外面调用方法的时候,必须使用try catch来捕获异常,和继续使用throws关键字,继续往上抛,直到抛给虚拟机,JVM会给我们做出异常的处理、

抛出异常:

throw关键字也是来异常的但是throws和throw的区别在于throw需要结合try catch联合已使用,当捕获到异常信息,需要用throw关键子,来抛出异常信息,其实也可以不联合使用try catch语法,但是必须要创建一个对象,因为一个异常就代表一个对象。需要手动创建一个Exception对象

ExceptionàRuntimeException类:

在Integer中的parseInt方法是这样声明的

public static intparseInt(String s) throws NumberFormatException,在这里java开发者,声明了一个异常。

但是我们在使用Integer.parseInt();方法的时候并没有捕获异常或者抛出异常,程序还是正常的运行,由此证明只有是需要是RuntimeException异常就不需要声明异常或者抛出异常.

异常链

try {

} catch (NamingException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

在铺货异常的时候应该按照,由小到大的方式捕获这样才可以更好的进行处理,比如时Sql 异常,这些异常信息是不可以向外暴漏的,所以要尽量的处理有可能发生的异常,而对于Sql 异常属于管理员能看见的信息,所以在使用的时候,要多异常进行记录,对于用户可以做出友好的提示,throw new Exception("数据库连接异常,请联系管理员");而对于异常信息将使用异常记录的方法, 而对于Exception 这样的异常,属于未知异常所以在处理的时候不会一下子很快的找到出错点。

帮助文档的解释:

RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。

可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需在 throws子句中进行声明。

常见异常:

1.ArithmeticException当出现异常的运算条件时,抛出此异常。比如除以0

2. ArrayIndexOutOfBoundsException非法越界、比如数组

3. ArrayStoreException数组类型不匹配

4. ClassCastException类型转换错误

5. IndexOutOfBoundsException索引越界

6. NullPointeException空指针异常

7. StringIndexOutBounds字符串索引越界

8. UnsupportedOperationException操作错误, 如下

String []listAarr = new String[2];

List list = Arrays.asList(listAarr);

list.add("sss");

9.CalssNotFoundException找不到指定类

10.NotSuchMethodException找不到指定的方法,在JSP常常出现

java throwable_Throwable异常相关推荐

  1. java关于异常的面试程序题_java异常相关面试题

    欢迎关注 CSDN:程序员小羊 微信公众号:程序员小羊 博客园:程序员小羊 1.Java中异常分为哪两种? 编译时异常 运行时异常 2.异常的处理机制有几种?. 异常捕捉:try-catch-final ...

  2. Java基础-异常(Exception)处理

    Java基础-异常(Exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.异常的概述 什么是异常?Java代码在运行时期发生的问题就是异常.在Java中,把异 ...

  3. JAVA的异常(四):finally关键字

    JAVA的异常(四):finally关键字 finally代码块:定义一定执行的代码 通常用于关闭资源 finally只有一种情况不执行,就是执行了System.exit(0)的时候,是系统退出,JV ...

  4. 一种隐蔽性较高的Java ConcurrentModificationException异常场景

    前言 在使用Iterator遍历容器类的过程中,如果对容器的内容进行增加和删除,就会出现ConcurrentModificationException异常.该异常的分析和解决方案详见博文<Jav ...

  5. java的异常机制面试题(转)

    java的异常机制面试题(转) 参考文章: (1)java的异常机制面试题(转) (2)https://www.cnblogs.com/ffaiss/p/11434639.html 备忘一下.

  6. Java获取异常堆栈信息

    Java获取异常堆栈信息 参考文章: (1)Java获取异常堆栈信息 (2)https://www.cnblogs.com/zhi-leaf/p/6288769.html 备忘一下.

  7. java的异常抛出throws和throw的简单使用

    java的异常抛出throws和throw的简单使用 参考文章: (1)java的异常抛出throws和throw的简单使用 (2)https://www.cnblogs.com/Anxc/p/113 ...

  8. Java的异常:Error与Exception

    Java的异常:Error与Exception 参考文章: (1)Java的异常:Error与Exception (2)https://www.cnblogs.com/heqiyoujing/p/11 ...

  9. Java 常见异常种类

    Java 常见异常种类 参考文章: (1)Java 常见异常种类 (2)https://www.cnblogs.com/cvst/p/5822373.html 备忘一下.

最新文章

  1. zabbix监控深信服_Zabbix 远程代码执行漏洞CVE202011800
  2. Android 应用软件开发(九)控件续
  3. 真人出镜,微信视频号第一期视频来了!
  4. 遍历一个文件夹所有文件
  5. Android 功耗(20)---Android后台调度与省电
  6. php 给富文本里的图片增加ALT、TITLE属性
  7. mysql要将语句反复执行15次_MySQL多表查询疑问
  8. (二)、WCF通道模型
  9. 国外量化投资的经典案例
  10. PyQt5 QTreeView树图
  11. 【ARM】Linux驱动移植
  12. CG-62 压电式雨量传感器
  13. 电脑可以上网,但是qq登陆不上去?
  14. qiime微生物分析
  15. linux_常用命令小总结
  16. Logit Adjust
  17. 【C语言】Hellow World的多种输出写法
  18. Word创建目录和添加页码
  19. 通过Excel批量导入成绩数据并分批次插入(数据量比较大的时候)
  20. DirectX11 环境光

热门文章

  1. 免越狱苹果群控巽风投屏中控
  2. py简易猜丁壳,可以计算总分。(石头剪刀布)
  3. linux 目录结构_Linux目录结构,解释
  4. 此计算机的策略设置不允许,本地策略提示不能确定应用到此机器的组策略安全性设置的解决方法...
  5. android自动软键盘,Android屏蔽软键盘自动弹出的解决方案
  6. Springboot毕设项目唐韵古都长安纪念品网站z037yjava+VUE+Mybatis+Maven+Mysql+sprnig)
  7. 关于虚幻4引擎D3D导致频繁崩溃的保守解决方案
  8. 2018年谷歌开发者大会经历
  9. Windows服务没有及时响应启动或控制请求
  10. 关于Staltstack