Что будет в результате выполнения следующего кода?

public class Test implements Runnable {
    public static void main(String[] args) {
        Thread t = new Thread(this);
        try {
            t.start();
        } catch (IOException ioe) {
            System.out.println("IOException");
        }
    }

    public void run() throws IOException {
        File f = new File("file.txt");
        FileWriter fw = new FileWriter(f);
    }
}
Explanation
1. В static методах this недоступно.
2. IOException - это checked exception. Thread.start() не декларирует в методе throws IOException, поэтому попытка объявить в catch-блоке IOException будет ошибкой при компиляции.
3. В Runnable метод run объявлен как public abstract void run() и при этом никаких throws в декларации метода нет. Поэтому и классы реализующие этот интерфейс не могут добавлять throws объявления.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести