比如
fun1 throws UserException
{
}fun2 ()
{
    fun1();
}异常不是要么捕捉,要么再次throws吗

解决方案 »

  1.   

    可能你的那个异常类是继承自RuntimeException的以下是API上查到的:RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。 可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。 
      

  2.   

    UserException 如果是一个RuntimeException,则不需要抛出或捕获,若是检测异常,
    则必须捕获或抛出。
    所有继承RuntimeException都是非检测异常,其他的都是检测异常
      

  3.   

    还真是继承自RuntimeException的,如果我在fun2中页可能抛出JDBC数据库操作错误,我必须要在fun2后面加上throws Exception吗
      

  4.   

    只要可能抛出的异常不是RuntimeException或其子类,都要try...catch或throws
      

  5.   

    如果有jdbc的exception,你是编译不过去的
      

  6.   

    UserException应该就是这个是个运行时异常。
      

  7.   

    没有捕获就继续向外抛异常,即使该方法没有声明抛出的异常。对于非RuntimeException和Error的异常必需捕获或显式声明抛出,只是Java语言上的规范。运行时环境(jvm)并没有对此做检查。有可能产生一个非RuntimeException的Exception的异常,而这个异常是没有被声明捕获或抛出。