今天学习了java的异常机制,下面对此做一个小小的总结。
1.什么是java异常:
异常情况是指在程序运行时,可能由于外部系统的条件变更(与我们所设想的不一致)时而导致的程序可能会出现的错误,比如我们链接数据库,但数据库未启动,要创建目录,操作系统上却已经存在同名的真是文件了。
2.什么是错误:
错误是VM的一个故障(虽然它可以是任何系统级的服务)。所以,错误是很难处理的,一般的开发人员(当然不是你)是无法处理这些错误的。比如内存溢出;
3.异常与错误之间的区别:
在我看来哈~异常和错误都是会被抛出来的,只是异常情况我们(程序员)可以去处理,改正。但是错误情况,我们一般很难处理。所有异常都有一个基类:Exception ,当然,所有的错误也有个基类:Error。
4.我对异常的了解
之前的java学习中,也经常会听到异常这么个词,比如空指针异常和下表越界异常都是我们平时学习中,经常遇到的一些异常现象。通过今天的学习,我了解到了,异常情况不仅仅只有那么几个,而是~~~很多哈! 首先,Exception是异常的父类。 异常则有分为运行时异常(runtimeException)和编译时异常(checkException)。
下面就 runtimeException 举几个子类的具体介绍:
①、 java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
②、java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
③、java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等
④、java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
5.异常处理机制
异常处理分为强制异常检测和非强制性异常检测。
①try catch异常处理: 如果代码之行成功,程序流程顺利。catch区域的语句将不会之行。 如果出现了问题,将不会之行try区域的语句,catch将之行。在catch'我们会用printStackTrace()方法打印出详细的异常信息。
在有些情况下,会有finnly,则,不管出错与否,都会之行finnly区域的语句。
② throw 、throws 抛出异常
我们的Exception对象会在定义时被抛出。 如果方法体中使用throw关键字抛出一个Exception类型的对象,在方法声明中就必须使用throws关键字声明,throws后面异常类名字必须是throw抛出异常对象的类型或者其父类类型---
java 异常机制总结
猜你喜欢
转载自wuzexin530.iteye.com/blog/1741787
今日推荐
周排行