java为什么需要方法抛出异常