Главная страница
    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.47 MB
Время: 0.039 c
15-1170615438
DrPass
2007-02-04 21:57
2007.03.04
Илья Кормильцев умер :(


2-1171350570
Сергей И
2007-02-13 10:09
2007.03.04
Кто знает как запустить приложение 1с


15-1171273167
vasIZmax
2007-02-12 12:39
2007.03.04
Save.... Good


15-1170732655
brother
2007-02-06 06:30
2007.03.04
Бесплатный хостинг с поддержкой php


1-1168618101
StriderMan
2007-01-12 19:08
2007.03.04
Переслать события мыши внизулежашему наследнику TControl





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский