Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Назвать модели обработки исключений и написать для каждой из них шаблон кода.

Читайте также:
  1. FAQ нельзя увы написать, ибо все настолько индивидуально.. и отношения тоже...
  2. Model Explorer - навигатор модели процессов
  3. Quot;Восточная" и "западная" модели человека.
  4. SADT-модели
  5. The knowledge of all fabricating processes is necessary for a processing engineer. (Знание всех процессов обработки необходимо для инженера-технолога)
  6. А) Естественнонаучные теории как исходные модели
  7. Абстрактные модели защиты информации
  8. Адресоваться к различным сегментам в каждой стране
  9. Анализ речевого кода.
  10. Анализ традиционной математической модели оценки надежности элемента системы

Модель обработки исключений с помощью пяти ключевых слов – try, catch, throw, throws и finally

Два способа обработки исключений в языке Java:

- Инструкции, которые могут генерировать исключения, размещаются в блоке try, а инструкции обработки исключений располагаются в блоке catch

- Метод может быть определён таким образом, что при возникновении исключительных ситуаций все эти исключения игнорируются

Пример:

class ExceptionDemo{

public static void main(String args[]){

try{String text = args[0]; System.out.println(text);}

catch(Exception ne){System.out.println("No arguments given! ");}

}}

 

Блок finally:

finally (без исключения) <- try block -> (исключение) catch block -> finally

 

Несколько блоков catch:

try{

}catch(ArrayIndexOutOfBoundsException e) {

}catch(Exception e) {

}

 

Использование throw и throws:

Исключения генерируются с использованием ключевого слова throw.

void method_1() throws NullPointerException, NegativeArraySizeException

{if (flag < 0)

throw new NullPointerException();

if(arrsize < 0)

throw new NegativeArraySizeException();

}

Один метод (throw) может генерировать более одного исключения.

 

Исключения, определённые пользователем:

Встроенные исключения не всегда достаточны для перехвата всех ошибок.

Поэтому возникает необходимость в классе исключения, определяемого пользователем.

Он должен быть подклассом класса Exception

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

Определённые пользователем классы исключений, которые создаются, наследуют все методы класса Throwable.

 

31. Для чего нужен блок finally { }?

Блок finally:

Гарантирует, что при возникновении исключения вся работа по очистке памяти будет выполнена

Используется в сочетании с блоком try

Гарантируется выполнение независимо от того, возникло исключение или нет

При генерации исключения блок finally отработает даже в том случае, если отсутствует соответствующий блок catch

 

Пример:

public class Try_finally_class {

static String str;

public static void main(String s[]) {

try {

System.out.println("A");

Try_finally_class.staticLengthmethod(); // str не иницаализирован

System.out.println("B"); // этот код не выполнится

} catch (NullPointerException ne) {

System.out.println("Exception occured");

System.out.println("C");

} finally {System.out.println("D");}

}

static void staticLengthmethod() {System.out.println(str.length());}

}

Результат:

A

Exception occured

C

D

 

32. Что такое поток? Отличие многозадачности от многопоточности. (п.47)

Поток (Thread) является наименьшей единицей выполняемого кода, который выполняет конкретную специализированную задачу.

Приложение может быть разделено на несколько задач, и каждой задаче может быть поставлен в соответствие поток.

Одновременное выполнение нескольких потоков обозначается термином «Многопоточность» (Multithreading).

Создаётся иллюзия, что процессы выполняются одновременно, но в действительности это не так.

 

Многозадачность – Multitasking – это возможность параллельного запуска одной или нескольких различных программ.

Операционная система управляет способом запуска, а также осуществляет регулирование выполнения (scheduling) этих программ.

Время, затрачиваемое на переключение программ, невелико.

Многопоточность – Multithreading – это возможность параллельного выполнения различных частей одной программы, называемых потоками (threads).

 

- Многопоточность требует меньших издержек, чем многозадачность.

При многозадачности каждый процесс работает в собственном, независимом от других адресном пространстве.

Задачи, выполняемые при многопоточности, могут совместно использовать одно и то же адресное пространство.

- Вызовы между процессами требуют больших накладных расходов, чем обмен информацией между потоками.

- Многопоточность позволяет писать эффективные программы, которые используют мощность процессора (CPU) по максимуму.

- Многопоточность позволяет приостанавливать (sleep) на мгновение циклы анимации, обеспечивая паузы между кадрами, без приостановки работы всей системы в целом.

 




Дата добавления: 2015-09-11; просмотров: 24 | Поможем написать вашу работу | Нарушение авторских прав

Апплеты | Создание HTML-страницы для вывода апплета | Class First | Какими бывают комментарии в Java. | Интерфейс | Виды модификаторов доступа в Java. | Package имя_пакета; | Класс String | Класс Runtime | Класс TreeSet |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав