在整个Java的异常处理中,实际上也是按照面向对象的方式进行处理,处理步骤如下:
(1) 一旦产生异常,则首先会产生一个异常类的实例对象。
(2) 在try语句对此异常对象进行捕捉。
(3) 产生的异常对象与catch语句中的各个异常类型进行匹配,如果匹配成功,则执行catch语句中的代码。
Try{
//产生异常代码,并产生异常类的实例对象
}catch(Exception e){ //匹配异常类型
//执行异常处理代码
}finally{
//异常统一出口
}
开发常见问题之一:程序开发中不会只存在一个异常,肯定会同时存在多个异常,此是,就需要使用多个catch语句进行处理,那捕获异常如何排顺?所以要注意,在Java中所有捕获范围小的异常必须放在捕获大的异常之前,否则程序编译时就会出现错误。
public class ExceptionDemo{
public static void main(String args[]){
System.out.println("计算开始");
int i=0 ;
int j=0 ;
try{
String str1 = args[0] ;
String str2 = args[1] ;
i = Integer.parseInt(str1) ;
j = Integer.parseInt(str2) ;
int result = i /j ; .......................产生异常
System.out.println("两个数字相除结果:"+result) ;
}catch(Exception e1){ ..................异常捕获范围大
System.out.println("其它异常:"+e1.getMessage()) ;
}catch(ArithmeticException e2){ ................错误,无法捕获
System.out.println("算术异常:"+e2.getMessage()) ;
}finally{
System.out.println("计算结果") ; .............出口,一定执行
}
}
}
引用
结果:编译出错。
引用
开发常见问题之二:throw与throws区别。在定义一个方法时可以使用throws声明,使用throws声明的方法表示此方法不处理异常而交给方法调用处进行处理;而throw则直接抛出异常,两都常在一起使用,throw常用于自定义异常处理。上述为例说明
public class ExceptionDemo{
//执行相除
public int div(int i,int j) throws Exception{.....往上抛,由方法调用处进行处理,这里则由主方法处理
int result = 0 ;
try{
result = i / j ;
}catch(Exception e){
throw e; ........直接抛出异常
}
return result;
}
//主方法
public static void main(String args[]){
ExceptionDemo ex = new ExceptionDemo();
try{
System.out.println("操作结果:"+ex.div(8,4));
}catch(Exception e){
System.out.println(e.getMessage()) ;
}
}
}
分享到:
相关推荐
Eclipse运行TOMCAT 出现在a java exception has occurred的解决办法。
Java exception handling methods and several example source code
java exception descriptions
exception基础,异常的基本用法。
Java异常处理的几个Example代码,让我们了解异常类型、声明异常、抛出和捕获异常、从异常获取信息、创建自定义异常等内容。
Java Exception Handling 内容.ppt
Java Exception 几种不适当的处理
Model类中创建HashMap并运用基本的数学算法,Program类中调用Model类并在通过UI实现,过程中对于可能出现的checked exception利用try-catch解决。
反编译工具两个版本,一个支持jdk1.7的 如果打开弹出这个提示 A Java Exception has occurred 可以使用另外一个1.7版本的试试看
主要介绍了Java Exception 捕获和显示实例详解的相关资料,需要的朋友可以参考下
JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。 JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。
关于javaexception的讲解,很透彻,适合中高级别的!
java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题java遇到的问题
最新版jd-gui,适用于x86版本的JDK,JDK最低要求1.6,最高支持1.8
下面小编就为大家带来一篇Java异常 Exception类及其子类(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java development part of exception
java解决nested exception is java.lang.OutOfMemoryError Java heap space 解决OOM
一个简单的Clojure库,该库允许在Clojure中动态定义Java Exception类。 动机 有时,您只需要可以直接捕获的快速Exception类。 defexception使用Java字节码动态创建直接从clojure.lang.ExceptionInfo继承的Java类。 ...
java Exception中Throwable和Exception之间的区别
javaexception.zip 07.Java面向对象编程扩展(计算器异常捕捉实例) 第3部分(5个程序包) javaio.zip 09.Java输入/输出流 javavi.zip 09.Java输入/输出流上机作业参考(文本编辑器) javathread.zip 10.Java多...