Java异常(Exception)又称例外,是一种运行时错误。Java异常机制就是对于Java异常的处理方法,使用Java异常机制能提升程序的容错性,从而使程序更加健壮与安全。
java异常种类很多,常用的异常包括:算术异常类(ArithmeticException),空指针异常类(NullPointerException),输入输出异常类(IOException),数组下标越界异常类(ArrayIndexOutOfBoundsException)、类型转换异常类(ClassCastException)等。
Java中常有如下三种异常处理方法:
1.使用try-catch-finally语句。try语句块放置可能发生异常的代码,catch语句块捕获这些代码产生的异常,finally语句块无论程序是否有异常发生,都会执行。
2.使用throws关键字抛出异常。若某个方法可能发生异常,但不想在当前方法中处理这个异常,那就可以利用throws关键字在该方法抛出异常,然后在调用该方法的代码中捕获该异常进行处理。
3.自定义异常类与throw关键字
关于自定义异常类的使用,分为如下几个步骤:
1)创建自定义异常类,利用继承思想
2)在方法中通过throw关键字抛出异常对象
3)若在当前抛出异常的方法中处理,使用第一种方法,否则使用第二种方法
第一种异常处理方法测试代码如下:
/**
*利用try-catch-finally语句块进行异常处理
*/
public class ExceptionTest {
public static void main(String[] args) {
try {
int iNum = 5 / 0;
System.out.println(iNum);
} catch (Exception e) {
e.printStackTrace();//指出异常的类型、性质、栈层次及出现程序中的位置
} finally {
System.out.println("第一种异常处理方法测试");
}
}
}
运行结果如下所示:
第二种异常处理方法测试代码如下:
/**
*利用关键字throws进行异常处理
*/
public class ExceptionTest1 {
public static int divide(int iNum1, int iNum2) throws ArithmeticException {
return iNum1 / iNum2;
}
public static void main(String[] args) {
try {
int iNum = divide(5,0);
System.out.println(iNum);
} catch (ArithmeticException e) {
e.printStackTrace();//指出异常的类型、性质、栈层次及出现程序中的位置
}
}
}
运行结果如下所示:
第三种异常处理方法测试代码如下:
/**
*类描述:自定义的异常类,继承于Exception
*/
class MyException extends Exception {
String message;
public MyException(String errorMessage) {
this.message = errorMessage;
}
public String getMessage() {//覆盖getMessage()方法
return message;
}
}
/**
*自定义类MyException和throw关键字进行异常处理
*/
public class ExceptionTest2 {
public static int divide(int iNum1, int iNum2) throws MyException {
if(0 == iNum2) {
throw new MyException("除数不能为零。");
}
return iNum1 / iNum2;
}
public static void main(String[] args) {
try {
int iNum = divide(5,0);
System.out.println("计算结果是:" + iNum);
} catch(MyException e) {
System.out.println(e.getMessage());
} catch(Exception e) {
System.out.println("程序发生了其他异常");
}
}
}
运行结果如下所示:
总结:
1.程序设计与开发中,需要考虑程序的异常,利用异常机制可以让程序更健壮与安全
2.异常处理不应用来考虑程序逻辑,主要避免程序运行时错误
参考资料:
【1】明日科技 李钟尉 陈丹丹编著.Java编程宝典.北京:人民邮电出版社,2010.
分享到:
相关推荐
java 异常机制
本资源主要描述java异常的知识,里面内容丰富,是java初学者的学习手册,java异常机制小结。
Java异常机制.txt
在静态编译器中实现Java异常机制的算法.pdf
Java异常架构与异常关键字 Java异常简介 Java异常架构 1. Throwable 2. Error(错误) 3. Exception(异常) 运行时异常 编译时异常 4. 受检异常与非受检异常 受检异常 非受检异常 Java异常关键字 Java异常处理 声明...
用户自行定义一个异常,编程创建并抛出某个异常类的实例,运行程序并观察执行结果 例如:用户密码的合法化验证,要求密码由4到六个数字组成,若长度不落在这个范围或不是由数字组成,抛出自己的异常
对java异常的总结,详细描述了JAVA异常的分类,异常的抛出和捕捉的机制,以及在项目应用中应该如何对异常作单独处理
通过实现本文提出的Java异常机制的静态编译算法,Open64编译器可以正确编译Java程序。 栈展开是被编译器和Java虚拟机普遍使用的一种实现异常处理机制的方法。本文针对传统的栈展开算法中存在的不足,提出了一种改进的...
14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...
关键字:throw throw是一种控制程序流程的特殊方法而已。没有相应的catch的话,可以中止当前的方法继续执行。 关键字:throws ...他们一个负责发现异常关系,一个负责异常捕获。很辛苦的一对难兄难弟哦,:)
主要介绍了java异常机制,包括异常机制的捕获、抛出及常见的异常机制总结,需要的朋友可以参考下
描述java内存回收机制,异常出现原因,解决方案
深入理解java异常处理机制,很详细的,去了,你们的!
安卓手机已成为日常生活的必需品,科技的日新月异使得手机的应用程序更为多元化。而安卓程序也是我们每天都会接触到的,包括各种社交软件、金融支付类软件,但是你是否经历过安卓应用程序崩溃。究其原因,安卓应用程序...
以下是Java异常机制的一些核心概念: 异常类: 在Java中,所有异常都是Throwable类或其子类的实例。Throwable分为两种类型:Exception(异常)和Error(错误)。异常通常表示程序可以处理的错误情况,而错误通常...
主要给大家介绍了利用Java异常机制实现模拟借书系统的相关资料,文中先对java异常机制进行了简单介绍,而后通过示例代码介绍了java语言是如何实现一个控制台版的模拟借书系统,需要的朋友可以参考学习,一起来看看吧...
主要介绍了Java 常用类解析:java异常机制,异常栈,异常处理方式,异常链,异常丢失详解的相关资料,需要的朋友可以参考下
异常处理是Java语言的重要机制,正确、合理地处理异常对系统的健壮性和稳定性提供了强有力的支持。异常的处理主要包括捕捉异常、程序流程的跳转和异常处理语句块的定义等。