public static void main(String[] args) {
NameOfDifferentThreads tt = new NameOfDifferentThreads();
tt.start();
for (int i = 0; i < count; i++) {
tt.printMsg();
}
}
public static class NameOfDifferentThreads extends Thread {
public void run() {
for (int i = 0; i < count; i++) {
printMsg();
}
}
public void printMsg() {
Thread t = Thread.currentThread();//присвой переменной t текущую нить
String name = t.getName();
System.out.println("name=" + name);
//add sleep here - добавь sleep тут
try {
Thread.sleep(1);
}
catch(Exception e){
}
}
}
}
Как можно пробросить ошибку, чтобы не использовать try, catch
Если я указываю в шапке метода throws Exception то надо пробросить дальше из класса(NameOfDifferentThreads), там же я не могу в шапке указать throws Exception. Почему?Gagarin
28 уровень
Как пробросить исключение без обработки?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Илья ГековMaster
19 июля 2018, 13:39
Никак, один поток не может пробросить исключение в другой.
Например, метод мейн создал поток и запустил его, поток пошел и например выполняет какой то цикл, в это время мейн, выполнив свои функции завершился, в это время в цикле второго потока выпало исключение, кто его будет обрабатывать?
0
Илья ГековMaster
19 июля 2018, 13:50
И я не очень понял, что вы пытаетесь этим кодом добиться. Я так понимаю в задаче надо создать определенное число потоков и запустить чтобы каждый вывел свое имя, а вы создаете один поток и запускаете его, он просто count раз выведет свое имя.
0
Gagarin
19 июля 2018, 15:14
Я хочу избавиться от конструкции try catch. С конкретно этой задачей это никак не связано
0
Илья ГековMaster
19 июля 2018, 15:25
Избавиться не получится
0
Nikita Zayakin
23 октября 2018, 23:31
А цель желания какая?
0
Evgeny StrokovEnterprise Java Developer в СберТех
9 декабря 2020, 10:48
Желает перебросить обработку исключения на других людей.)
0