Spec-Zone .ru
спецификации, руководства, описания, API
|
try { } finally { }
try
у оператора не должно быть a catch
блокируйте, если у этого есть a finally
блок. Если код в try
у оператора есть многократные точки выхода и не связанный catch
пункты, код в finally
блок выполняется независимо от того как try
из блока выходят. Таким образом имеет смысл обеспечивать a finally
блокируйте всякий раз, когда есть код, который должен всегда выполняться. Это включает код восстановления ресурса, такой как код, чтобы закрыть потоки ввода-вывода.catch (Exception e) { }
Ответ: Этот обработчик ловит исключения типа Exception
; поэтому, это ловит любое исключение. Это может быть плохой реализацией, потому что Вы теряете ценную информацию о типе выданного исключения и делающий Ваш менее эффективный код. В результате Ваша программа может быть вынуждена определить тип исключения прежде, чем это сможет выбрать лучшую стратегию восстановления.
try { } catch (Exception e) { } catch (ArithmeticException a) { }
Exception
; поэтому, это ловит любое исключение, включая ArithmeticException
. Второй обработчик никогда не мог достигаться. Этот код не будет компилировать.int[] A;
A[0] = 0;
classes.zip
или rt.jar
.)end of stream
маркер.end of stream
маркер, программа пытается считать поток снова.Ответ:
readList
метод к ListOfNumbers.java
. Этот метод должен читать в int
значения от файла, напечатайте каждое значение, и добавьте их до конца вектора. Следует зафиксировать все соответствующие ошибки. Вы будете также нуждаться в текстовом файле, содержащем числа, чтобы читать в. Ответ: См.
.ListOfNumbers2.java
cat
метод так, чтобы это скомпилировало: public static void cat(File file) { RandomAccessFile input = null; String line = null; try { input = new RandomAccessFile(file, "r"); while ((line = input.readLine()) != null) { System.out.println(line); } return; } finally { if (input != null) { input.close(); } } }
Ответ: код, чтобы поймать исключения показывают полужирным:
public static void cat(File file) { RandomAccessFile input = null; String line = null; try { input = new RandomAccessFile(file, "r"); while ((line = input.readLine()) != null) { System.out.println(line); } return; } catch(FileNotFoundException fnf) { System.err.format("File: %s not found%n", file); } catch(IOException e) { System.err.println(e.toString()); } finally { if (input != null) { try { input.close(); } catch(IOException io) { } } } }