2013-12-27 2 views
0
throw new Exception(); 

Если вы поместите эту инструкцию в метод, вы должны либо добавить throws Exception после имени метода. Или вы можете окружить заявление с помощью try-catch.surround "throw new Exception()" с try catch

try { 
    throw new Exception(); 
} catch (Exception e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

Но что это за пункт здесь? Компилятор разрешает это, поэтому я просто хочу знать, намеренно ли он разработан. Мне интересно.

+1

Это похоже на чепуху для меня. Вы спрашиваете: «Но что здесь?» - нет никакого смысла в этом коде. Где ты взял это? Вы сами это сделали? Или вы видели это в каком-то учебнике? –

+0

http://stackoverflow.com/questions/6115896/java-checked-vs-unchecked-exception-explanation проверьте это –

+1

Это похоже на базовое Java-введение для меня. Это говорит вам, что проверенные исключения - это ошибка времени компиляции в Java (если только метод не объявляет, что он выбрасывает исключение, и он должен улавливать любые проверенные исключения из методов, которые он вызывает). –

ответ

3

Собственно, это полезно в некоторых сценариях.

Скажите, что вы хотите выполнить ряд задач, и если какой-либо из них не работает, вы хотите прервать последовательность и выполнить другую задачу.

Верно, что вы можете сделать то же самое с серией утверждений if, но это дает другой способ сделать это.

try{ 
// do task 1 
// if failed, throw new Exception("Task 1 Failed"); 

// do task 2 
// if failed, throw new Exception("Task 2 Failed"); 

// do task 3 
// if failed, throw new Exception("Task 3 Failed"); 

... 

}catch(Exception e){ 
// System.err.println(e.getMessage()); 
// do somthing else 
} 
+1

может иногда делать код аккуратным? :п – bijiDango

Смежные вопросы