Увидел незнакомую для себя команду throws, как нормальный программист пошел гуглить: https://javarush.com/groups/posts/isklyucheniya-java Вот, что получилось:
package com.javarush.task.jdk13.task03.task0318;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// дополнительно импортируем библиотеку IOException

/*
Как захватить мир
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        //напишите тут ваш код
BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
String years = null;
String name = null;
try {
    years = rd.readLine();
    name = rd.readLine();
} catch (IOException e) {
    System.out.println(e.getMessage());
} finally {
    try {
        rd.close();
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}
if ((years.equals(""))||(name.equals(""))) {
    throw new Exception("String can not be empty!");
}

System.out.println("Через " + years + " лет " + name + " захватит мир. Му-ха-ха!");
    }
}
Вывод в точности соответствует условиям задачи. Ошибка "возможно, вы перепутали местами года и и имя" Кто-то может объяснить?