Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / SQL и PL/SQL в Oracle10g
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Лабораторная работа 18.1 Обработка встроенных исключений

Встроенные исключения в Oracle PL/SQL, блок Exception, коды ошибок

Задание:

Вам представлен следующий код PL/SQL:

SET SERVEROUTPUT ON;

DECLARE

nNum1 number(10,0);

nNum2 number(10,0);

nRezult Number(10,5);

Begin

nNum1 := &Делимое;

nNum2 := &Делитель;

nRezult := nNum1/nNum2;

DBMS_OUTPUT.PUT_LINE(nRezult);

END;

Измените его таким образом, чтобы:

·        если пользователь выбирает для второго числа 0, выводилось сообщение "Деление на ноль!";

·        если пользователь вводит символьные значения типа 'abc', выводилось сообщение "Неверный тип данных";

·        в других ситуациях выводилось сообщение "Неизвестная ошибка".

Результат выполнения кода должен быть таким, как представлено на рис. Лаб. 18.1-1.

Примечание. Некоторые исключения все равно перехватываться не будут. Убедитесь, что ваш код перехватывает исключения для 0 и 'abc'.

Рис. Лаб. 18.1-1.

Решение:

Итоговый код PL/SQL может быть таким:

DECLARE

nNum1 number(10,0);

nNum2 number(10,0);

nRezult Number(10,5);

Begin

nNum1 := &Делимое;

nNum2 := &Делитель;

nRezult := nNum1/nNum2;

DBMS_OUTPUT.PUT_LINE(nRezult);

EXCEPTION

WHEN ZERO_DIVIDE THEN

DBMS_OUTPUT.PUT_LINE('Деление на ноль!');

WHEN VALUE_ERROR THEN

DBMS_OUTPUT.PUT_LINE('Неверный тип данных!');

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE('Неизвестная ошибка!');

END;

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru