🗊Презентация Обработка исключений

Нажмите для полного просмотра!
Обработка исключений, слайд №1Обработка исключений, слайд №2Обработка исключений, слайд №3Обработка исключений, слайд №4Обработка исключений, слайд №5Обработка исключений, слайд №6Обработка исключений, слайд №7Обработка исключений, слайд №8Обработка исключений, слайд №9Обработка исключений, слайд №10Обработка исключений, слайд №11Обработка исключений, слайд №12Обработка исключений, слайд №13Обработка исключений, слайд №14Обработка исключений, слайд №15Обработка исключений, слайд №16Обработка исключений, слайд №17Обработка исключений, слайд №18Обработка исключений, слайд №19Обработка исключений, слайд №20Обработка исключений, слайд №21Обработка исключений, слайд №22

Вы можете ознакомиться и скачать презентацию на тему Обработка исключений. Доклад-сообщение содержит 22 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





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

Слайд 2





В PL/SQL ошибки всех видов интерпретируются как исключения — ситуации, которые не должны возникать при выполнении программы. При возникновении ORA-XXXX инициируется исключение. Выполнение программы прекращается и управление передается разделу обработки исключения, если он есть. 
В PL/SQL ошибки всех видов интерпретируются как исключения — ситуации, которые не должны возникать при выполнении программы. При возникновении ORA-XXXX инициируется исключение. Выполнение программы прекращается и управление передается разделу обработки исключения, если он есть. 
Способы инициации исключения :
ошибки, генерируемые системой (нехватка памяти, места и тп);
ошибки, вызванные действиями пользователя (констрейнты, типы данных);
предупреждения, выдаваемые приложением пользователю. Явный вызов исключения разработчиком в коде программы. (нарушение логики работы)
Способы обработки исключения:
Обработать в том же блоке.
Передать ошибку в вызываемую среду.
Описание слайда:
В PL/SQL ошибки всех видов интерпретируются как исключения — ситуации, которые не должны возникать при выполнении программы. При возникновении ORA-XXXX инициируется исключение. Выполнение программы прекращается и управление передается разделу обработки исключения, если он есть. В PL/SQL ошибки всех видов интерпретируются как исключения — ситуации, которые не должны возникать при выполнении программы. При возникновении ORA-XXXX инициируется исключение. Выполнение программы прекращается и управление передается разделу обработки исключения, если он есть. Способы инициации исключения : ошибки, генерируемые системой (нехватка памяти, места и тп); ошибки, вызванные действиями пользователя (констрейнты, типы данных); предупреждения, выдаваемые приложением пользователю. Явный вызов исключения разработчиком в коде программы. (нарушение логики работы) Способы обработки исключения: Обработать в том же блоке. Передать ошибку в вызываемую среду.

Слайд 3


Обработка исключений, слайд №3
Описание слайда:

Слайд 4





С ключевого слова EXCEPTION начинается блок обработки особых ситуаций.
С ключевого слова EXCEPTION начинается блок обработки особых ситуаций.
Допустимо использование нескольких обработчиков событий
Ключевое слово WHEN OTHERS должно быть указано в конце блока обработки.
Описание слайда:
С ключевого слова EXCEPTION начинается блок обработки особых ситуаций. С ключевого слова EXCEPTION начинается блок обработки особых ситуаций. Допустимо использование нескольких обработчиков событий Ключевое слово WHEN OTHERS должно быть указано в конце блока обработки.

Слайд 5





DECALRE
DECALRE
BEGIN
……
EXCEPTION
	WHEN exception1 [OR exception2 . . .] THEN
		statement1;
		statement2;
	...
  [WHEN exception3 [OR exception4 . . .] THEN
		statement1;
		statement2;
	...]
  [WHEN OTHERS THEN
		statement1;
		statement2;
	...]
END;         * Блоки begin exception end м.б. вложенными
Описание слайда:
DECALRE DECALRE BEGIN …… EXCEPTION WHEN exception1 [OR exception2 . . .] THEN statement1; statement2; ... [WHEN exception3 [OR exception4 . . .] THEN statement1; statement2; ...] [WHEN OTHERS THEN statement1; statement2; ...] END; * Блоки begin exception end м.б. вложенными

Слайд 6





Предопределенные ошибки Oracle
Не требуют объявления, доступны всегда. Часто возникающие ошибки:
TOO_MANY_ROWS 
NO_DATA_FOUND
INVALID_CURSOR
CURSOR_ALREADY_OPEN
NOT_LOGGED_ON
PROGRAM_ERROR
Описание слайда:
Предопределенные ошибки Oracle Не требуют объявления, доступны всегда. Часто возникающие ошибки: TOO_MANY_ROWS NO_DATA_FOUND INVALID_CURSOR CURSOR_ALREADY_OPEN NOT_LOGGED_ON PROGRAM_ERROR

Слайд 7





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

Слайд 8


Обработка исключений, слайд №8
Описание слайда:

Слайд 9





BEGIN
BEGIN
	...
	EXCEPTION
		WHEN NO_DATA_FOUND THEN
			statement1;
			statement2;
		WHEN TOO_MANY_ROWS THEN
			statement1;
		WHEN OTHERS THEN
			statement1;
			statement2;
			statement3;
		END;
Описание слайда:
BEGIN BEGIN ... EXCEPTION WHEN NO_DATA_FOUND THEN statement1; statement2; WHEN TOO_MANY_ROWS THEN statement1; WHEN OTHERS THEN statement1; statement2; statement3; END;

Слайд 10





Не предопределенные ошибки Oracle
Не предопределенные ошибки обрабатываются в  блоке исключения как и предопределенные, но в секции OTHERS Для получения информации о коде исключения используем  функцию SQLCODE, информация о сообщении функция SQLERRM
Описание слайда:
Не предопределенные ошибки Oracle Не предопределенные ошибки обрабатываются в блоке исключения как и предопределенные, но в секции OTHERS Для получения информации о коде исключения используем функцию SQLCODE, информация о сообщении функция SQLERRM

Слайд 11





SQLCODE: Возвращает числовое значение для кода последней возникшей ошибки (кроме NO_DATA_FOUND для нее =100).
SQLCODE: Возвращает числовое значение для кода последней возникшей ошибки (кроме NO_DATA_FOUND для нее =100).
SQLERRM: Возвращает текст, связанный с номером ошибки.
ORA-00001: unique constraint (string.string) violated
Cause: An UPDATE or INSERT statement attempted to insert a duplicate key. 
Action: Either remove the unique restriction or do not insert the key.
SQLCODE =-1
SQLERRM: ORA-00001: нарушено ограничение уникальности
* Список ошибок Oracle - Database Error Messages https://docs.oracle.com/database/121/ERRMG/toc.htm
Описание слайда:
SQLCODE: Возвращает числовое значение для кода последней возникшей ошибки (кроме NO_DATA_FOUND для нее =100). SQLCODE: Возвращает числовое значение для кода последней возникшей ошибки (кроме NO_DATA_FOUND для нее =100). SQLERRM: Возвращает текст, связанный с номером ошибки. ORA-00001: unique constraint (string.string) violated Cause: An UPDATE or INSERT statement attempted to insert a duplicate key. Action: Either remove the unique restriction or do not insert the key. SQLCODE =-1 SQLERRM: ORA-00001: нарушено ограничение уникальности * Список ошибок Oracle - Database Error Messages https://docs.oracle.com/database/121/ERRMG/toc.htm

Слайд 12


Обработка исключений, слайд №12
Описание слайда:

Слайд 13





Обработка исключения ORA–2292 нарушение ограничения целостности: ORA-02292: violated integrity constraint (owner.constraintname)- child record found
Обработка исключения ORA–2292 нарушение ограничения целостности: ORA-02292: violated integrity constraint (owner.constraintname)- child record found
DECLARE
	ERROR_DELETE_MY EXCEPTION;
	PRAGMA EXCEPTION_INIT(ERROR_DELETE_MY,-2292);
	v_deptno DEPARTMENTS.DEPARTMENT_ID%TYPE :=30;
BEGIN
	DELETE FROM DEPARTMENTS  WHERE DEPARTMENT_ID = v_deptno;
EXCEPTION
	WHEN ERROR_DELETE_MY THEN
	DBMS_OUTPUT.PUT_LINE('Cannot remove dept' || TO_CHAR(v_deptno) || '. Employees exist.');
END;
Описание слайда:
Обработка исключения ORA–2292 нарушение ограничения целостности: ORA-02292: violated integrity constraint (owner.constraintname)- child record found Обработка исключения ORA–2292 нарушение ограничения целостности: ORA-02292: violated integrity constraint (owner.constraintname)- child record found DECLARE ERROR_DELETE_MY EXCEPTION; PRAGMA EXCEPTION_INIT(ERROR_DELETE_MY,-2292); v_deptno DEPARTMENTS.DEPARTMENT_ID%TYPE :=30; BEGIN DELETE FROM DEPARTMENTS WHERE DEPARTMENT_ID = v_deptno; EXCEPTION WHEN ERROR_DELETE_MY THEN DBMS_OUTPUT.PUT_LINE('Cannot remove dept' || TO_CHAR(v_deptno) || '. Employees exist.'); END;

Слайд 14





DECLARE
DECLARE
	v_error_code NUMBER;
	v_error_message VARCHAR2(255);
BEGIN
...
EXCEPTION
...
	WHEN OTHERS THEN
	ROLLBACK;
	v_error_code := SQLCODE ;
	v_error_message := SQLERRM ;
	INSERT INTO errors
	VALUES(v_error_code, v_error_message);
END;
Описание слайда:
DECLARE DECLARE v_error_code NUMBER; v_error_message VARCHAR2(255); BEGIN ... EXCEPTION ... WHEN OTHERS THEN ROLLBACK; v_error_code := SQLCODE ; v_error_message := SQLERRM ; INSERT INTO errors VALUES(v_error_code, v_error_message); END;

Слайд 15


Обработка исключений, слайд №15
Описание слайда:

Слайд 16





DECLARE
DECLARE
	e_invalid_department EXCEPTION;
BEGIN
	UPDATE dept SET dname =’Testers’
	WHERE deptno =11111;
  IF SQL%NOTFOUND THEN 
		RAISE e_invalid_department;
	END IF;
	COMMIT;
EXCEPTION
   WHEN e_invalid_department THEN
   DBMS_OUTPUT.PUT_LINE(’No such department id.’);
   END;
Описание слайда:
DECLARE DECLARE e_invalid_department EXCEPTION; BEGIN UPDATE dept SET dname =’Testers’ WHERE deptno =11111; IF SQL%NOTFOUND THEN RAISE e_invalid_department; END IF; COMMIT; EXCEPTION WHEN e_invalid_department THEN DBMS_OUTPUT.PUT_LINE(’No such department id.’); END;

Слайд 17





Предназначена для генерации ошибок, установленных пользователем.
Предназначена для генерации ошибок, установленных пользователем.
Преимущество перед командой RAISE (которая тоже может инициировать явно объявленные исключения) заключается в том, что она позволяет связать с исключением сообщение об ошибке.
Диапазон ошибок, доступный пользователю: -20000...-20999
Описание слайда:
Предназначена для генерации ошибок, установленных пользователем. Предназначена для генерации ошибок, установленных пользователем. Преимущество перед командой RAISE (которая тоже может инициировать явно объявленные исключения) заключается в том, что она позволяет связать с исключением сообщение об ошибке. Диапазон ошибок, доступный пользователю: -20000...-20999

Слайд 18





Используется в двух различных местах:
Используется в двух различных местах:
		- Выполнимый раздел. Пример 1 след слайд
		- Раздел Исключения . Пример 1 след слайд
Возвращает ошибку пользователю аналогичным способом, принятым в сервере ORACLE. Номер и текст.
Описание слайда:
Используется в двух различных местах: Используется в двух различных местах: - Выполнимый раздел. Пример 1 след слайд - Раздел Исключения . Пример 1 след слайд Возвращает ошибку пользователю аналогичным способом, принятым в сервере ORACLE. Номер и текст.

Слайд 19





Пример 2 
Пример 2 
...
EXCEPTION
	WHEN NO_DATA_FOUND THEN
		RAISE_APPLICATION_ERROR (-20201,’This is not a valid employee’);
	END;
Описание слайда:
Пример 2 Пример 2 ... EXCEPTION WHEN NO_DATA_FOUND THEN RAISE_APPLICATION_ERROR (-20201,’This is not a valid employee’); END;

Слайд 20





Сначала PL/SQL ищет обработчик исключения в текущем блоке (анонимном блоке, процедуре или функции). Если такового нет, PL/SQL пытается обработать исключение, инициировав его еще раз в родительском блоке. Так происходит в каждом внешнем по отношению к другому блоке до тех пор, пока все они не будут исчерпаны. После этого PL/SQL возвращает необработанное исключение в среду приложения, выполнившего ≪самый внешний≫ блокPL/SQL. 
Сначала PL/SQL ищет обработчик исключения в текущем блоке (анонимном блоке, процедуре или функции). Если такового нет, PL/SQL пытается обработать исключение, инициировав его еще раз в родительском блоке. Так происходит в каждом внешнем по отношению к другому блоке до тех пор, пока все они не будут исчерпаны. После этого PL/SQL возвращает необработанное исключение в среду приложения, выполнившего ≪самый внешний≫ блокPL/SQL.
Описание слайда:
Сначала PL/SQL ищет обработчик исключения в текущем блоке (анонимном блоке, процедуре или функции). Если такового нет, PL/SQL пытается обработать исключение, инициировав его еще раз в родительском блоке. Так происходит в каждом внешнем по отношению к другому блоке до тех пор, пока все они не будут исчерпаны. После этого PL/SQL возвращает необработанное исключение в среду приложения, выполнившего ≪самый внешний≫ блокPL/SQL. Сначала PL/SQL ищет обработчик исключения в текущем блоке (анонимном блоке, процедуре или функции). Если такового нет, PL/SQL пытается обработать исключение, инициировав его еще раз в родительском блоке. Так происходит в каждом внешнем по отношению к другому блоке до тех пор, пока все они не будут исчерпаны. После этого PL/SQL возвращает необработанное исключение в среду приложения, выполнившего ≪самый внешний≫ блокPL/SQL.

Слайд 21





Итоги
Исключения
Предопределенные Oracle 
Не предопределенные исключения
Пользовательские
Инициализация и обработка исключений
Описание слайда:
Итоги Исключения Предопределенные Oracle Не предопределенные исключения Пользовательские Инициализация и обработка исключений

Слайд 22





Практика №8!
30 минут
Описание слайда:
Практика №8! 30 минут



Похожие презентации
Mypresentation.ru
Загрузить презентацию