Net framework 5, а также среды Visual Studio 2012 и C#



Download 6,27 Mb.
Pdf ko'rish
bet381/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   377   378   379   380   381   382   383   384   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

ВниМание
Если.вы.—.разработчик.библиотек.классов.и.занимаетесь.созданием.типов,.которые.
будут.использовать.другие.разработчики,.отнеситесь.к.этим.правилам.очень.серьез-
но .На.вас.лежит.огромная.ответственность.за.разработку.интерфейса,.применимого.
к.широкому.спектру.приложений .Помните:.вы.не.знаете.всех.тонкостей.кода,.который.
вызываете.через.делегаты,.а.также.через.виртуальные.или.интерфейсные.методы .
Вы.также.не.знаете,.какой.код.будет.вызывать.вашу.библиотеку .Невозможно.пред-
видеть.все.ситуации,.в.которых.может.применяться.ваш.тип,.поэтому.не.принимайте.
никаких.политических.решений .Ваш.код.не.должен.решать,.что.есть.ошибка,.а.что.
нет.—.оставьте.это.решение.вызывающему.коду 


525
Приемы.работы.с.исключениями
Внимательно.следите.за.состоянием.и.старайтесь.избежать.его.повреждения .Про-
веряйте.аргументы,.передаваемые.вашим.методам,.с.помощью.контрактов.(см .
далее.в.этой.главе) .Старайтесь.не.изменять.состояние.без.необходимости,.а.если.
изменяете.—.будьте.готовы.к.сбоям.и.последующему.восстановлению.состояния .
Если.вы.будете.соблюдать.рекомендации,.изложенные.в.этой.главе,.у.разработчиков.
приложений.не.будет.особых.проблем.с.использованием.типов.вашей.библиотеки.
классов 
Если.вы.—.разработчик.приложений,.определяйте.любую.политику,.какую.сочтете.
нужной .Придерживаясь.правил.разработки,.вы.сможете.быстрее.выявлять.и.ис-
правлять.ошибки.в.своем.коде,.что.повысит.устойчивость.ваших.приложений .Однако.
вы.вольны.отходить.от.этих.правил,.если.после.тщательного.обдумывания.сочтете.
это.необходимым .Политику.приложения.(например,.более.агрессивный.перехват.
исключений.кодом.приложения).определяете.именно.вы 
активно используйте блоки finally
По-моему, блоки 
finally
— прекрасное средство! Они позволяют определять код, 
который будет гарантированно исполнен независимо от вида сгенерированного 
потоком исключения. Блоки 
finally
нужны, чтобы выполнить очистку после лю-
бой успешно начатой операции, прежде чем вернуть управление или продолжить 
исполнение кода, расположенного после них. Блоки 
finally
также часто исполь-
зуются для явного уничтожения любых объектов с целью предотвращения утечки 
ресурсов. В следующем примере в этом блоке размещен весь код, выполняющий 
очистку (закрывающий файл):
using System;
using System.IO;
public sealed class SomeType {
private void SomeMethod() {
// Открытие файла
FileStream fs = new FileStream(@"C:\Data.bin ", FileMode.Open);
try {
// Вывод частного от деления 100 на первый байт файла
Console.WriteLine(100 / fs.ReadByte());
}
finally {
// В блоке finally размещается код очистки, гарантирующий
// закрытие файла независимо от того, возникло исключение
// (например, если первый байт файла равен 0) или нет
fs.Close();
}
}
}
Гарантированное исполнение кода очистки при любых обстоятельствах настоль-
ко важно, что большинство языков поддерживает соответствующие программные 
конструкции. Например, в C# при использовании инструкций 
lock

using
и 
foreach


526
Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   377   378   379   380   381   382   383   384   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish