本帖最后由 a1002002 于 2013-04-22 01:27:17 编辑

解决方案 »

  1.   

    你先要理解throw和throws这两个关键字的区别。
    throws只是方法的一个申明,并不一定就会抛出异常,只是告诉方法的调用者,这个方法可能会抛出异常。
    throw就是抛出异常,抛给上一层的try catch。
      

  2.   

    楼上正解,就例子而言。抛到了调用show()的地方。如果在main中try catch一下就能捕获到。
      

  3.   

    刚好你编写的异常类继承了RuntimeException,在调用show方法的地方不用显示的捕获异常。如果继承了检查性异常,那么需要显示的捕获异常了,不然在编译器就会报错的。
      

  4.   

    1、将异常往上抛 比如我们在dao蹭接收到异常 可以通过throws跑到service层2、抛出一个自定义的异常  可以用try catch  也可以用throws处理
      

  5.   

    我的理解就是方法用throws,是表示这个方法就算有异常也不管,等到以后用到这个方法,就捕捉异常显示出来,,throw就是代码中哪里可能出现问题,就用这个抛出异常类:throw new 异常类名(信息)。
      

  6.   

    throws是申明,告诉调用这个函数的地方要应付这个异常,throws后面的s,英语的时态就是“一般现在时”。
    你试试class weiLingException extends Exception就能看到变化了,t.show(0);这里会要捕获对应的异常的,否则会编译出错。throw只会在执行过程到这一步的时候,抛出一个异常,执行的是对应于throws申明的具体动作。