Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Exception when ….. игнорирование блока  [new]
HOME_X
Member

Откуда:
Сообщений: 2537
Версия Oracle9
Необходимо выполнить команду, в случае ошибки перейти к следующей
Обрабатывать тип ошибки необходимости пока не имею.
Т.е. нужно удалить файл на диске, если его нет возникает ошибка, ее необ-
ходимо проигнорировать
begin
Utl_File.Fremove(‘c:\work’,’rr12.txt’);
exception when others then
vWip:=1;
end;
vFil:=Utl_File.FOpen(‘c:\work’,’rr12.txt’,'A');

Синтаксис при ошибке требует выполнить какую-то команду vWip:=1;
Некрасиво и дубовато…..
Вопрос - нельзя ли проигнорировать секцию обработчика ошибок
(может как то так)
begin
Utl_File.Fremove(‘c:\work’,’rr12.txt’);
exception end;
vFil:=Utl_File.FOpen(‘c:\work’,’rr12.txt’,'A');

Благодарен ! А !
2 окт 05, 12:45    [1930620]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
HX
Member

Откуда: Moscow
Сообщений: 2454
HOME_X
Версия Oracle9
Необходимо выполнить команду, в случае ошибки перейти к следующей
Обрабатывать тип ошибки необходимости пока не имею.
Т.е. нужно удалить файл на диске, если его нет возникает ошибка, ее необ-
ходимо проигнорировать
begin
Utl_File.Fremove(‘c:\work’,’rr12.txt’);
exception when others then
vWip:=1;
end;
vFil:=Utl_File.FOpen(‘c:\work’,’rr12.txt’,'A');

Синтаксис при ошибке требует выполнить какую-то команду vWip:=1;
Некрасиво и дубовато…..
Вопрос - нельзя ли проигнорировать секцию обработчика ошибок
(может как то так)
begin
Utl_File.Fremove(‘c:\work’,’rr12.txt’);
exception end;
vFil:=Utl_File.FOpen(‘c:\work’,’rr12.txt’,'A');

Благодарен ! А !


Если речь про plsql, то

  
  1  declare
  2  v number(1);
  3  begin
  4   v:=1/0;
  5  exception WHEN ZERO_DIVIDE THEN NULL;
  6 end;
SQL> /

PL/SQL procedure successfully completed.
2 окт 05, 13:15    [1930646]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
HOME_X
выполнить какую-то команду vWip:=1;
Некрасиво и дубовато…..

всегда пустой "командой" было
 null;
3 окт 05, 09:07    [1931282]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Exception when ….. игнорирование блока  [new]
hobl
Member

Откуда: Киев
Сообщений: 160
у меня возникло такое удивительное, пояснить никак не могу. Есть такое
  i number;
begin
  i := i / 0;
  dbms_output.put_line('success');
exception
  when zero_divide then
    dbms_output.put_line('zero divide');
  when others then
    dbms_output.put_line('others');
end;

Ожидаемый результат 'zero divide', но... получаю 'success'
24 апр 12, 12:46    [12462080]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
брадобрей
Member

Откуда:
Сообщений: 4696
Здравствуйте многоуважаемый сэр,
не затруднит ли вас продемонстрировать сие?

Всегда Ваш, я
24 апр 12, 12:48    [12462103]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
AmKad
Member

Откуда:
Сообщений: 5222
брадобрей,

Видимо приоритет правила "Если один из элементов выражения null ..." выше.
24 апр 12, 12:50    [12462127]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
hobl
Member

Откуда: Киев
Сообщений: 160
AmKad,

точно.. гыыыы вот спасибо
24 апр 12, 12:53    [12462169]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
брадобрей
Member

Откуда:
Сообщений: 4696
AmKad
брадобрей,

Видимо приоритет правила "Если один из элементов выражения null ..." выше.


Вы правы, коллега.
Участник hobl бесконечно вам благодарен.
24 апр 12, 12:54    [12462176]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
hobl
Member

Откуда: Киев
Сообщений: 160
а может тут же и подскажите..
как бы так сделать, чтобы текст exception был на русском...
т.е. где-то на одной из баз видел, что exception пишется русским, а также хочу сделать на другой
24 апр 12, 13:18    [12462476]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
AmKad
Member

Откуда:
Сообщений: 5222
hobl,

Выставить соответствующий NLS_LANG.
24 апр 12, 13:23    [12462536]     Ответить | Цитировать Сообщить модератору
 Re: Exception when ….. игнорирование блока  [new]
hobl
Member

Откуда: Киев
Сообщений: 160
AmKad,

а.. я вижу только alter session, а как для всего экземпляра. Как поменять nls_language, который тут
SELECT * FROM V$NLS_PARAMETERS;
24 апр 12, 18:07    [12464954]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить