我看到一个程序,里面定义了一个方法A,方法A throws了2个异常a,b,接着在main中调用了方法A,但奇怪的是main只throws了异常a,请问这样不会有问题吗?程序为什么没报错?当方法A throws b异常时,会发生什么情况呢

解决方案 »

  1.   

    只发生了a异常当然只有a异常,当发生b异常时肯定会报出b异常
      

  2.   

    我的问题是,main根本没有throws b异常的声明,这难道没问题吗
      

  3.   

    调用方法没有throws的异常应该是unchecked exception.
    属于运行时异常。
      

  4.   

    a是IOException, b是IllegalArgumentException,照5楼说IllegalArgumentException是运行时异常不需要捕获了?
      

  5.   

    只发生了a异常当然只有a异常,当发生b异常时肯定会报出b异常