首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

java中的异常处理若干问题很疑惑

2014-01-26 
java中的异常处理若干问题很疑惑?下面是java中的异常处理的一个示例,后面有该程序的运行结果 不过在写完该

java中的异常处理若干问题很疑惑?

下面是java中的异常处理的一个示例,后面有该程序的运行结果
不过在写完该程序后还是有部分不是很明白,或许是因为写的程序太少吧
请问:throw new RuntimeException("demo");//抛出异常
上面这一句到底是怎么执行的呀,其执行过程是怎样的,或者说能否通俗的讲讲如何理解它呢
能否帮忙对上句做个语法分析呀!!!
另外catch(Exception e){System.out.println("catch:"+e);}这一句也不是很懂啊
catch这个关键字到底是如何使用的呢?它又是如何扑捉异常对象呢?
后面的Exception e如何理解?
是否可以认为catch是一个函数,Exception e是它的参数呢?
public class ExceptionDemo {//异常使用示例,保存为ExceptionDemo.java
static void procA(){
try{
System.out.println("inside procA");
throw new RuntimeException("demo");//抛出异常
}
finally{
//不管发生什么事情,下面的都会执行输出来
System.out.println("procA's finally");
}
}
static void procB(){
try{
System.out.println("inside procB");
//返回,实际上是在后面的finally语句执行后才返回的
return;
}
finally{
System.out.println("procB's finally");
}
}
public static void main(String[] args) {
try{
procA();
}
catch(Exception e){
System.out.println("catch:"+e);
}
procB();
}
}
运行结果如下:
D:\JavaProgramming>javac ExceptionDemo.java

D:\JavaProgramming>java ExceptionDemo
inside procA
procA's finally
catch:java.lang.RuntimeException: demo
inside procB
procB's finally
 

------解决方法--------------------------------------------------------
书上好象有吧:)。。。
------解决方法--------------------------------------------------------
多看看书吧。
throw new Exception表示代码在此处抛出异常。也就是说代码到这里就终止执行了,会跑到处理异常的地方去,一般有两种处理异常的方法:一是try...catch,此时代码就执行catch里相应的异常处理;二是没有代码处理,交给JVM来处理。JVM处理时一般就是打印错误信息,并可能程序无法继续执行。         

热点排行