Java编译: 未报告的异常错误java.lang.InterruptedException; 必须对其进行捕获或声明以便抛出

运行代码提示如下:

com\itzhimei\LockSampleTest.java:26:29
java: 未报告的异常错误java.lang.InterruptedException; 必须对其进行捕获或声明以便抛出
行号    |
20	|
	|@Override
	|public void run() {
	|	synchronized (first) {
	|		System.out.println("获取了first锁");
26  	|		synchronized (second) {
	|			Thread.sleep(1000L);
	|			System.out.println("获取了second锁");
	|		}
	|	}
30	|}

解决:
方法一,把对应需要异常处理的代码try-catch,代码如下

@Override
public void run() {
	synchronized (first) {
		System.out.println("获取了first锁");
		synchronized (second) {
			try {
				Thread.sleep(1000L);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			System.out.println("获取了second锁");
		}
	}
}

方法二,将对应的方法做出异常声明

public static void main(String[] args) throws InterruptedException {
	......
}