黑马程序员—异常及其处理部分基础知识总结
来源:互联网 发布:淘宝助理5.4版本下载 编辑:程序博客网 时间:2024/06/04 18:22
异常及其处理部分基础知识总结
1、异常类在catch语句中的撰写顺序
异常处理格式中,我们是可以将catch语句像else if一样列举很多的,因为我们要try{}的方法体中也许存在中诸多安全隐患,而关于可能产生的异常和处理方式在实际应用中,我们我们抛出异常时建议越详细越好,而不是用Exception甚至Throwable来一概而论。因为这样可以让我们或者程序的使用者在解决问题的时候思路更加清楚和简洁,所以这就需要我们尽量的去预估可能运行时可能产生的异常,包括自定义异常,而将父类异常放在:try catch catch……处理结构的最下方如:
try{}
catch{}(孙类)
catch{}(父类)
catch{}(爷类)
2、throws和throw关键字
这里就不再赘述他们的应用格式的区别了,他们的表现的思想主要有一个区别在于,throws关键字在方法声明处表示不处理异常而是抛出异常类,而throw则在方法体中手动抛出一个异常,举一个两者结合使用的例子分享给大家:
class Math{public int div(int i,int j)throws NumberFormatException{System.out.println("----计算开始----");int temp=0;try{temp=i/j;}catch(NumberFormatException e){throw e;}finally{System.out.println("----计算结束----");}return temp;}}public class Demo{public static void main(String[] args){Math m =new Math();try{System.out.println("除法:"+m.div(10,0));}catch(NumberFormatException e){System.out.println("抛出异常:"+e);}}}
这里可以发现,无论是否存在异常,我们都会打印出计算结束的字样,而这种结构也将异常给予最终的调用者去处理
在此补充下,finally作为异常的同意出口,一般用于执行关闭某些资源或断开连接的命令。
3、Exception类与RuntimeException
RuntimeException及其类的异常一经抛出是不必经过try catch处理的,所谓不必只是程序的没有对此存在硬性要求,因为往往这类问题出现在运行时的参数设置问题上,比如数组的脚标的越界,除零等等。个人认为之所以程序不要求这类问题提前处理是为了将此问题交给JVM(java虚拟机),这样就可以中断程序了,因为它们往往导致的结果很严重,不易去跳过。当然如果预估出的问题在你的承受范围内,为了保证程序的运行,建议还是加上try catch。
- 黑马程序员—异常及其处理部分基础知识总结
- 黑马程序员 Java基础知识总结-异常处理
- 黑马程序员—线程基础知识部分总结
- 黑马程序员-基础知识部分总结
- 黑马程序员_JavaSE基础知识总结十:异常处理
- 黑马程序员:异常处理总结
- 黑马程序员---异常处理总结
- 黑马程序员—IO流部分基础知识总结
- 黑马程序员__异常及其处理机制
- 黑马程序员-----------内部类、异常及其处理
- 黑马程序员——java编程异常处理总结
- 黑马程序员——Java异常处理总结
- 黑马程序员 异常处理机制的总结
- 黑马程序员-----------------java异常处理总结
- 黑马程序员_05 java异常处理总结
- 黑马程序员-Java基础-异常处理总结
- 黑马程序员--异常处理知识点总结
- 黑马程序员-Java 基础知识1. (笔记部分总结)
- [ASP.net初学者]数据库连接
- 安装sqoop-1.4.3-cdh4.5.0遇到找不到Sqoop类的异常
- 如何在C程序中处理汉字
- C# 窗口居中显示
- Request的getParameter和getAttribute方法的区别
- 黑马程序员—异常及其处理部分基础知识总结
- C# textbox输入的时候显示是****
- OSPF协议介绍
- 蓝桥杯练习题—— 求先序排列
- excel动态创建控件
- 链表的创建和遍历
- C# 在窗口中,敲回车进行登录。(效果是在登录界面一敲回车就点击登录按钮)
- c# TAB键定位的顺序
- 23种经典设计模式UML类图汇总