try catch语句用于处理错误,并且可以显示错误信息,如果你写一些应用可以这么做.
不过如果你写一些公共的接口或者类,不需要显示错误的信息,而把错误留给使用接口或者类的用户,让使用的用户来显示错误的信息,就需要用throws来抛出异常了!!

解决方案 »

  1.   

    没有throws就不可能catch到任何东西,当然,有时你自己没有throws,但别人可能已经在你用到的类中写过throws了。
    throws还可以投掷一些自定义的异常。
      

  2.   

    “把错误留给使用接口或者类的用户,让使用的用户来显示错误的信息,就需要用throws来抛出异常了!!”
    这样做的意义到底是什么?直接处理错误不就完了,为何还要留给别人来处理?
      

  3.   

    当然不是,很多情况下面错误并不是自己能够处理完的你必须一层一层的通知上面的调用者,程序出现异常了,如
    InputStream,在read的时候出现异常了,但是它根本不可能知道应该如何处理,它就必须抛出异常使得调用者可以获知这个信息,如果上面一层调用者仍然不知道如何处理(如是InputStreamReader),它就需要再抛出这个异常,直到其中一个类认为自己可以处理这个异常为止。