Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Вниз

Полный выход из углубления через Inherited   Найти похожие ветки 

 
amphest_coder   (2007-02-12 20:57) [0]

У меня есть виртуальный метод в одном из классов. В его потомке этот метод переопределяется, но не полностью, а дописываеться, то есть сначала вызывается метод-родителя командой Inherited (имя), а затем некий код (это не важное). Если в виртуальном методе класса родителя написать где-то Exit, то произойдет выход из этого метода, тоесть шаг вверх по "стеку". А теперь вопрос: какая команда сможет сделать полный выход из этого заглубления?


 
Джо ©   (2007-02-12 21:30) [1]

> А теперь вопрос: какая команда сможет сделать полный выход
> из этого заглубления?

Возбдуждение исключения. При условии, если нигде на очередном «уровне» исключение не перехватывается.


 
Германн ©   (2007-02-13 01:33) [2]

Удалено модератором
Примечание: оффтоп


 
Loginov Dmitry ©   (2007-02-13 07:35) [3]

Удалено модератором
Примечание: оффтоп


 
evvcom ©   (2007-02-13 08:51) [4]

> [2] Германн ©   (13.02.07 01:33)

Так это тоже исключение, только "тихое".

> [1] Джо ©   (12.02.07 21:30)

Телепат. Я нифига не понял из [0] про "заглубления" :)


 
evvcom ©   (2007-02-13 09:03) [5]

> [0] amphest_coder   (12.02.07 20:57)

Кстати, про исключения. Это касается не только inherited и виртуальных методов. Это справедливо для любых методов/функций/процедур.


 
Германн ©   (2007-02-13 13:56) [6]


> evvcom ©   (13.02.07 08:51) [4]
>
> > [2] Германн ©   (13.02.07 01:33)
>
> Так это тоже исключение, только "тихое".

Да знаю я, что это тоже исключение. Но по сабжу Abort самое то, что доктор прописал.
Надеюсь, теперь меня не упрекнут в оффтопе :)


 
amphest_coder   (2007-02-13 14:51) [7]

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


> Возбдуждение исключения. При условии, если нигде на очередном
> «уровне» исключение не перехватывается.


насколько я понял, в сием опусе =) идет речь о конструкциях try..except, когда в нутри "опасного" кода есть вызов процедуры, которая внтури себя местит подобную кострукцию исключения. Или опять я чего-то недопонимаю? какое это имеет отношение к моему вопросу?


>
> Да знаю я, что это тоже исключение. Но по сабжу Abort самое
> то, что доктор прописал.


извините, под рукой нету Delphi. Действительно есть такая команда Abort =) и это то что мне нужно =) ? Или это Германн с иронизировал?


 
Джо ©   (2007-02-13 15:00) [8]

!!Что тут понимать? Возбуждаешь исключение и вылетаешь вверх по всему стеку вызовов, до первого встретившегося обрабочика except. Подробней не могу, пишу с телефона с дороги.


 
evvcom ©   (2007-02-13 15:01) [9]

> [7] amphest_coder   (13.02.07 14:51)
> идет речь о конструкциях try..except

Именно.

> Действительно есть такая команда Abort

Есть. Abort raises a special "silent exception" (EAbort), which operates like any other exception, but does not display an error message to the end user.  Abort redirects execution to the end of the last exception block.


 
Сергей М. ©   (2007-02-13 15:08) [10]


> только в данном случае (с Inherited) это называется "заглублением"


Где ты видел, чтобы это называлось "заглублением" ?

Приведи ссылку на первоисточник..


 
deus krid   (2007-02-13 17:42) [11]


> Где ты видел, чтобы это называлось "заглублением" ?


ну, это кто-то там образно выразился (Попов вроде), ведь идет "заглбуление" по виртуальным методам потомка до аналогичных родителя. Заглубление в иерархию, можно так сказать...

всем спасибо, все понял (в частности evvcom за подробную информацию =) ).


 
amphest_coder   (2007-02-13 17:50) [12]

deus krid + неработающие мозги + грипп = amphest_coder (всмысле, deus krid на время тяжкой болезни превратился в amphest_coder"а :) )
зы: извините за оффтоп.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.039 c
3-1165411941
ergoist
2006-12-06 16:32
2007.03.04
Обновление записи


15-1171027346
oldman
2007-02-09 16:22
2007.03.04
"А все таки она вертится!" (опрос на память)


6-1157962772
JMorrison
2006-09-11 12:19
2007.03.04
Утечка памяти BDS win32 Indy 10


2-1171375484
newbie2
2007-02-13 17:04
2007.03.04
Как избежать затирание обработки события в своем контроле?


15-1170781538
Kolan
2007-02-06 20:05
2007.03.04
Кому там про сравнение строки надо было?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский