-
Notifications
You must be signed in to change notification settings - Fork 0
Task_12
##Задание
####Теория Напиши что такое исключение (Exception) в Java. Напиши какие бывают типы исключений в Java. Напиши что такое: try, catch, finally. finally - найди случай, в котором блок finally не выполняется Напиши что такое stack trace Напиши что такое потоки ввода / вывода в Java. Напиши для чего используется FileInputStream Напиши для чего используется FileOutputStream
####Практика У нас уже есть программа (класс Calculator) которая умеет выполнять арифметические операции с числами. Давай создадим программу (класс (можешь назвать его FileManager)) который будет уметь работать с файлами. Создай два файла first.txt и second.txt С помощью FileInputStream и FileOutputStream реализуй метод в классе FileManager для копирования данных с файла first.txt в second.txt
##Ответ (ru)
####Теория
-
Исключениями или исключительными ситуациями (состояниями) называются ошибки, возникшие в программе во время её работы.Все исключения в Java являются объектами. Поэтому они могут порождаться не только автоматически при возникновении исключительной ситуации, но и создаваться самим разработчиком.В Java все исключения делятся на три типа: контролируемые исключения (checked) и неконтролируемые исключения (unchecked), к которым относятся ошибки (Errors) и исключения времени выполнения (RuntimeExceptions, потомок класса Exception).Контролируемые исключения представляют собой ошибки, которые можно и нужно обрабатывать в программе, к этому типу относятся все потомки класса Exception (но не RuntimeException).
-
try - данное ключевое слово используется для отметки начала блока кода, который потенциально может привести к ошибке. catch - ключевое слово для отметки начала блока кода, предназначенного для перехвата и обработки исключений. finally - ключевое слово для отметки начала блока кода, которое является дополнительным. Этот блок помещается после последнего блока 'catch'. Управление обычно передаётся в блок 'finally' в любом случае.
-
finally не выполнится если в try сделан выход из програмы System.exit(0);
-
потоки ввода / вывода в Java. - Считается, что в программу идет входной поток (input stream) символов Unicode или просто байтов, воспринимаемый в программе методами read(). Из программы методами write о или print (), println() выводится выходной поток (output stream) символов или байтов.
-
Класс FileInputStream создаёт объект класса InputStream, который можно использовать для чтения байтов из файла.
-
Класс FileOutputStream создаёт объект класса OutputStream, который можно использовать для записи байтов в файл.
####Практика
##Ответ (en)
####Теория
-
An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions.
-
There are 3 categories of Exceptions:
- Checked exceptions - exception that occurs at the compile time, these are also called as compile time exceptions. These exceptions cannot simply be ignored at the time of compilation, the Programmer should take care of (handle) these exceptions.
- Unchecked exemptions - occurs at the time of execution, these are also called as Runtime Exceptions, these include programming bugs, such as logic errors or improper use of an API
- Errors - These are not exceptions at all, but problems that arise beyond the control of the user or the programmer. Errors are typically ignored in your code because you can rarely do anything about an error
-
The catch block is only executed if an exception is thrown in the try block. The finally block is executed always after the try(-catch) block, if an exception is thrown or not.
-
Cases, when finally is not being executed:
- if you call System.exit() the program exits immediately without finally being called.
- a JVM Crash e.g. Segmentation Fault, will also prevent finally being called. i.e. the JVM stops immediately at this point and produces a crash report.
- an infinite loop would also prevent a finally being called.
-
A stack trace is a list of the method calls that the application was in the middle of when an Exception was thrown.
-
FileInputStream is meant for reading streams of raw bytes such as image data. For reading streams of characters, consider using FileReader.
-
FileOutputStream is meant for writing streams of raw bytes such as image data. For writing streams of characters, consider using FileWriter. It's an output stream for writing data to a File
####Практика