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

Вниз

try ... finally except   Найти похожие ветки 

 
Vladimir88   (2005-09-30 14:47) [0]

(Delphi 7 или 2005) Можно ли как-нибудь провернуть чтоб в одном блоке try юзать и finally и except, мне кажется это очень полезная фишка и должна быть, но в справке ничего подобного не нашёл.


 
Anatoly Podgoretsky ©   (2005-09-30 14:51) [1]

Это две разные, как языковые, так и логические конструкции.
А у тебя что проблемы психологического порядка?


 
Lamer@fools.ua ©   (2005-09-30 14:53) [2]

>>Anatoly Podgoretsky ©   (30.09.05 14:51) [1]

Вот логически их как раз можно объединить. Так сделано в C#, например.

try
{
}
catch (...)
{
}
catch (...)
{
}
finally
{
}


 
ZeroDivide ©   (2005-09-30 14:58) [3]

try
 .......
 try
 except
   ....
   Raise; //Rerasing Exception
 end;
finally

end;


 
Vladimir88   (2005-09-30 15:00) [4]

Да, вот так же бы как в C# сделать


 
TUser ©   (2005-09-30 15:00) [5]

Я из подобного обсуждения тут как-то понял, что отсутствие "объединенного" оператора - плата за скорость работы компилятора Delphi.


 
Digitman ©   (2005-09-30 16:27) [6]


> Да, вот так же бы как в C# сделать


ты еще как в Васике сделай)

там вообще с этим делом - засада)

ЧЕМ тебе не понравились всевозможного рода вложенные конструкции из блоков try..finally и try..except ?

все там четко, строго, наглядно и понятно ... как и во всем Паскале как таковом ..


 
Vladimir88   (2005-09-30 17:11) [7]

Люблю когда всё красиво выглядит(как например можно поизвращаться в Си с тем-же циклом for), хотя на самом деле действительно рекомендуется разделять операторы для наглядности.


 
Юрий Зотов ©   (2005-09-30 17:13) [8]

> Vladimir88   (30.09.05 17:11) [7]
> Люблю когда всё красиво выглядит

Если так, то тогда Вам надо любить как раз Паскаль, а не Си.


 
Digitman ©   (2005-09-30 17:45) [9]


> можно поизвращаться в Си


Паскаль не допускает никаких извращений и двусмысленности/неопределенности.

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


 
ZeroDivide ©   (2005-09-30 18:38) [10]

Паскаль почти не допускает никаких извращений и двусмысленности/неопределенности.

Язык программирования долго страдал противоречивостью в своей спецификации: правила определения эквивалентности типов не были заданы. Например рассмотрим следующие 2 типа языка Pascal:


type complex = record
                      Left: Integer;
                      Right: Integer;
                    end;

type coordinate = record
                      Left: Integer;
                      Right: Integer;
                    end;


Идентичны ли эти 2 типа? Очевидно, что они содержат одни и те же типы компонентов. От того, как мы определим язык, зависит, можно ли будет передать значение coordinate процедуре, принимающей аргумент типа complex и наоборот. Если можно, то говорят, что наш язык использует структурную эквивалентность при идентификации типов. С другой стороны, мы можем определить 2 типа как эквивалентные в том и только в том случае, если их имена одинаковы. В этом случае говорят, что в языке использована именная эквивалентность.
 Какой вариант выбран в спецификации языка Pascal? Изначально небыло сделано ни какого выбора. Никто так и не догадался, что существует несколько способов определения эквивалентности типов! В результате, каждая команда программистов, занимающаяся реализацией языка Pascal, должна была сама сделать выбор (и зачастую подобные комманды даже не осознавали, что они делают этот выбор). В результате этой неопределенности программа, написаная на Pascal для одной реализации языка, может вести себя совершенно по-другому в остальных реализациях.
  (c) Eric Allen


 
Anatoly Podgoretsky ©   (2005-09-30 19:41) [11]

В этом отношении хорош АДА

type
  Linear: Integer;
  Square: Integer;
var
  A, B: Linear;
  C: Square;
begin
  C := A * B;


В Паскале можно, в АДО нельзя. Очень строгий язык в отличии от Паскаля, особенно учитывая, что Борланд постоянно снижала строгость, плевав на Вирта.



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

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

Наверх





Память: 0.48 MB
Время: 0.194 c
1-1128346886
@Ujin
2005-10-03 17:41
2005.10.23
Как можно добавить в TCustomForm published свойства?


14-1127659842
Eraser
2005-09-25 18:50
2005.10.23
Перевод фразы на English


14-1127968843
Ученик чародея
2005-09-29 08:40
2005.10.23
Почему в России TV такое серое.


8-1117205543
Steve
2005-05-27 18:52
2005.10.23
Смайлики


1-1128037249
Mulka
2005-09-30 03:40
2005.10.23
TMemo, позиция курсора.





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