try {
    ...
} catch (InterruptedException e) {
    e.printStackTrace();
}
  • 在执行上述 Java 代码中,报如下错误
java: 在相应的 try 语句主体中不能抛出异常错误java.lang.InterruptedException
问题原因
  1. 异常不匹配,try 块中的代码不会抛出 InterruptedException

  2. Java 要求 catch 的异常类型必须与 try 块中可能抛出的异常匹配,否则会编译失败

处理策略
  1. 移除不必要的 try catch

  2. 捕获更通用的异常,例如,Exception

try {
    ...
} catch (Exception e) {
    e.printStackTrace();
}
  1. 增加实际需要捕获 InterruptedException 的场景
try {
    ...
    Thread.sleep(1000);
    ...
} catch (Exception e) {
    e.printStackTrace();
}
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐