run方法中的异常不能throws???
我们在run方法中让线程执行时失去CPU睡眠一会:
然而上述代码有错误?我们的异常不都是可以抛出或者try catch吗???
答案在我们的源码中:
如上展示一样:我们的Runnable接口中的run方法没有抛出异常,所以当我们实现了Runnable接口的时候我们重写run方法时,我们不能抛出比接口中方法声明更多的异常,所以我们只能try catch处理
子类抛出的异常类型不能比父类抛出的异常类型更宽泛!(同样也适用于接口)
run方法中的异常不能throws???
我们在run方法中让线程执行时失去CPU睡眠一会:
然而上述代码有错误?我们的异常不都是可以抛出或者try catch吗???
答案在我们的源码中:
如上展示一样:我们的Runnable接口中的run方法没有抛出异常,所以当我们实现了Runnable接口的时候我们重写run方法时,我们不能抛出比接口中方法声明更多的异常,所以我们只能try catch处理
子类抛出的异常类型不能比父类抛出的异常类型更宽泛!(同样也适用于接口)