Игнорирование ошибок (PHP5)

klava

Новичок
Игнорирование ошибок (PHP5)

Есть ли в PHP5 механизмы, предусматривающие
возвращение из блока "catch" к строке, идущей
сразу после строки, в которой возникло исключение
(ну чтобы не нарушать ход программы, если ошибку
возможно проигнорировать).

Если честно я с особенностями ООП на PHP5 ещё не
очень, мне бы справочник получше, может кто посоветует....

Заранее спасибо!
 

Vallar_ultra

Любитель выпить :)
это противоречит самой концепции исключений. Либо лови это вложенными try {} catch() {}, либо не порождай/глотай ексепшены в вызываемых методах.
 

klava

Новичок
Автор оригинала: Vallar_ultra
это противоречит самой концепции исключений. Либо лови это вложенными try {} catch() {}, либо не порождай/глотай ексепшены в вызываемых методах.
Нет, всмысле я думал так:

try
{
<ХОП, ОШИБКА!>
}

catch(Exception $err)
{
if(<ОЧЕНЬ СТРАШНО!>){
<ВСЁ!!! РАЗВОД И ДЕВИЧЬЯ ФАМИЛИЯ!!!>;}
else if(<ДА ЛАДНО, ЗДЕСЬ НЕ СТРАШНО!>){
<ВЕРНУТСЯ НА ИСХОДНУЮ>;} //Вот эта та конструкция мне и нужна!!!
}
 

klava

Новичок
Автор оригинала: Vallar_ultra
Ну а что тебе мешает???
Да?!! Ничего не мешает!!!
Вот поэтому я и спрашиваю:
"а как <ВЕРНУТЬСЯ НА ИСХОДНУЮ>, и можно ли вообще?...:) "!!!
 

Гравицапа

elbirret elcno
klava
Ты можешь сделать что-то типа
PHP:
class FatalException extends Exception {}
class SomeException extends Exception {}
и кидать их в зависимости от ситуации и у тебя будет несколько блоков catch()
PHP:
try {
//
}
catch (SomeException $e) {
//
}
catch (FatalException $e) {
//
}
http://www.php.net/manual/en/language.exceptions.php
 

klava

Новичок
Автор оригинала: Гравицапа
klava
Ты можешь сделать что-то типа
PHP:
class FatalException extends Exception {}
class SomeException extends Exception {}
и кидать их в зависимости от ситуации и у тебя будет несколько блоков catch()
PHP:
try {
//
}
catch (SomeException $e) {
//
}
catch (FatalException $e) {
//
}
Это я знаю. У меня уже (я только приступил) порядка двух дестяков таких
эксепов.

Я спршивал что?!

Я спрашивал: если у меня не FatalException, а SomeException,
который, как потом выяснится, не помеха текущему процессу,

то КАК МНЕ ВЕРНУТСЯ ИЗ БЛОКА catch В МЕСТО, ОТКУДА ВСЁ
И НАЧАЛОСЬ, а точнее К СЛЕДУЮЩЕМУ, ИДУЩЕМУ ЗА НИМ
ОПРЕТОРУ???

Заранее спасибо.:)
 

Vallar_ultra

Любитель выпить :)
klava
вернуться никак.
Решение.
PHP:
try {
    try {
    //
    }
    catch (SomeException $e) {
    // ну да и фиг с ним
    }
}
catch (FatalException $e) {
// все, теперь точно всем писец.
}
 

klava

Новичок
Автор оригинала: Vallar_ultra
klava
PHP:
try {
    try {
    //
    }
    catch (SomeException $e) {
    // ну да и фиг с ним
    }
}
catch (FatalException $e) {
// все, теперь точно всем писец.
}
И?! Всмысле?! Пока не песец (или не горностоай),
то по выполнении <// ну да и фиг с ним>, программа
перейдёт к выполнению следущего за этими catch'ами
блока кода.

А МНЕ НУЖНО... (см. выше)!!!

ЗАРАНЕЕ СПАСИБО!:)

-~{}~ 17.04.07 13:44:

Автор оригинала: Гравицапа
deleted
Всмысле?! Это оператор такой?!:)
 

klava

Новичок
Автор оригинала: Гравицапа
klava
Тебе уже объяснили, как лучше сделать.

И не надо писать заглавными буквами.
Всмысле объяснили?!
Я на свой вопрос ответа не получил...:confused:

-~{}~ 17.04.07 13:50:

Ну никак, так никак.
С этого и надо было начинать....

-~{}~ 17.04.07 13:51:

Ладно, всем спасибо..
Будем искать
другие пути выхода...
 

Андрейка

Senior pomidor developer
klava
try
{
try {
<ХОП, ОШИБКА!>
} catch (Exception $err) {
if(<ОЧЕНЬ СТРАШНО!> ){
<ВСЁ!!! РАЗВОД И ДЕВИЧЬЯ ФАМИЛИЯ!!!>;
throw $err;
}
else if(<ДА ЛАДНО, ЗДЕСЬ НЕ СТРАШНО!> ){
<ВЕРНУТСЯ НА ИСХОДНУЮ>;
<НАЧАЛО ЧУДЕСНОЙ КОНСТРУКЦИИ>
<КОНЕЦ ЧУДЕСНОЙ КОНСТРУКЦИИ>
} //Вот эта та конструкция мне и нужна!!!

}
<ИСХОДНАЯ!!!>
}

catch(Exception $err)
{

}
 

Vallar_ultra

Любитель выпить :)
klava
для горностаев повторяю: вернуться никак!

во вложенный try запихивается ТОЛЬКО ТО, что может порождать ОБА типа исключений, а требуемый ПОСЛЕДУЮЩИЙ код выносится за пределы вложенного try - catch

-~{}~ 17.04.07 13:53:

Андрейка
ЧТО ЭТО?
 

Андрейка

Senior pomidor developer
Vallar_ultra
смотря где.. вообще - адаптированный для восприятия определенными личностями, вариант из вашего первого сообщения
 
Сверху