Что попробовать сделать в Java? - PullRequest
2 голосов
/ 07 апреля 2010

Что try делает в Java?

Ответы [ 7 ]

7 голосов
/ 07 апреля 2010

try используется для обработки исключений.

http://java.sun.com/docs/books/tutorial/essential/exceptions/try.html

4 голосов
/ 07 апреля 2010

Конструкция try/catch/finally позволяет указать код, который будет запускаться в случае возникновения исключения внутри блока try (catch), и / или код, который будет выполняться после блока try, даже если исключение имеет произошло (finally).

 try{
    // some code that could throw  MyException;
 }
 catch (MyException e){
     // this will be called when MyException has occured
 }
 catch (Exception e){
     // this will be called if another exception has occured
     // NOT for MyException, because that is already handled above
 }
 finally{
     // this will always be called,
     // if there has been an exception or not
     // if there was an exception, it is called after the catch block
 }

Наконец, блоки важны для освобождения ресурсов, таких как соединения с базой данных или файловые дескрипторы, несмотря ни на что. Без них у вас не было бы надежного способа выполнения кода очистки при наличии исключений (или возврата, прерывания, продолжения и т. Д. Из блока try).

3 голосов
/ 07 апреля 2010

Это позволяет вам попытаться выполнить операцию, и в случае возникновения исключения, вы можете обрабатывать его изящно, а не пузыриться и подвергаться воздействию пользователя в результате уродливой и часто неустранимой ошибки:

try
{
    int result = 10 / 0;
}
catch(ArithmeticException ae)
{
    System.out.println("You can not divide by zero");
}

// operation continues here without crashing
1 голос
/ 07 апреля 2010

Обработка исключений

1 голос
/ 07 апреля 2010

try часто используется вместе с catch для кода, который может работать неправильно во время выполнения, событие, известное как , вызывает исключение .Он используется, чтобы дать машине команду выполнить код и перехватить все возникающие исключения.

Так, например, если вы запрашиваете открытие файла, который не существует, язык предупреждает васчто-то пошло не так (а именно, что ему был передан какой-то ошибочный ввод) и позволяет вам объяснить это, заключив его в блок try..catch.

File file = null;

try {
    // Attempt to create a file "foo" in the current directory.
    file = File("foo");
    file.createNewFile();
} catch (IOException e) {
    // Alert the user an error has occured but has been averted.
    e.printStackTrace();
}

Anнеобязательное предложение finally может использоваться после блока try..catch для обеспечения определенной очистки (например, при закрытии файла) всегда :

File file = null;

try {
    // Attempt to create a file "foo" in the current directory.
    file = File("foo");
    file.createNewFile();
} catch (IOException e) {
    // Alert the user an error has occured but has been averted.
    e.printStackTrace();
} finally {
    // Close the file object, so as to free system resourses.
    file.close();
}
0 голосов
/ 07 апреля 2010

Позволяет определить обработчик исключений для блока кода. Этот код будет выполнен, и если произойдет какое-либо «исключение» (ссылка на нулевой указатель, ошибка ввода-вывода и т. Д.), Будет вызван соответствующий обработчик, если он определен.

Для получения дополнительной информации см. Обработка исключений в Википедии.

0 голосов
/ 07 апреля 2010

Вы говорите о блоке try / catch. Он используется для захвата исключений, которые могут возникнуть в блоке кода внутри try / catch. Исключения будут обработаны в операторе "catch".

...