. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
обработка исключ<strong>е</strong>ний<br />
А код Вс<strong>е</strong> раВно н<strong>е</strong> работа<strong>е</strong>т...<br />
Б райан усп <strong>е</strong>ш но пользовался Excuse M a n a g e r п р и н а л и ч и и п а п <br />
ки , н а п о л н <strong>е</strong> н н о й ф айлам и с оправданиям и , к о то р у ю о н создал<br />
во вр<strong>е</strong>м я н а п и сания п р о гр а м м ы , н о о н забыл п р о эту папку и<strong>е</strong>с<strong>е</strong><br />
риализаци<strong>е</strong>й п р о гр а м м ы . И в о т ч т о случилось....<br />
П р и л о ж <strong>е</strong> н и <strong>е</strong> Б л о к н о т п озволя<strong>е</strong>т воссоздать ф айлы с о правданиям и. П <strong>е</strong> р <br />
вая стр о к а — о правдани<strong>е</strong>, в то р а я — р<strong>е</strong>зультат <strong>е</strong> го п р и м <strong>е</strong> н <strong>е</strong> н и я , тр <strong>е</strong> тья —<br />
дата <strong>е</strong>го посл<strong>е</strong>дн<strong>е</strong>го исп о л ьзо вания ( « 1 0 /4 /2 0 0 7 12:08:13 Р М »).<br />
© В ы зо в и т<strong>е</strong> Excuse M anager и о т к р о й т <strong>е</strong> оправдани<strong>е</strong>. П р и п о я в л <strong>е</strong> н и и и с к л ю ч <strong>е</strong> н и я ш ;<strong>е</strong>лкнит<strong>е</strong><br />
на к н о п к <strong>е</strong> D etails. О б р а ти т<strong>е</strong> вним а н и <strong>е</strong> н а ст<strong>е</strong>к вызова - и м <strong>е</strong> н н о та к назы ва<strong>е</strong>тся м <strong>е</strong>тод, вы <br />
з ы в а ю щ и й д р уго й м <strong>е</strong>тод, к о т о р ы й , в свою оч<strong>е</strong>р<strong>е</strong>дь, то ж <strong>е</strong> вы зы ва<strong>е</strong>т м <strong>е</strong>тод и т. д.<br />
Программа сообща<strong>е</strong>т, что исключ<strong>е</strong>ни<strong>е</strong> появля<strong>е</strong>тся при<br />
с<strong>е</strong>риализации. Можно ли из подробного описания поняты.<br />
Excuse M anager " какая строка кода явля<strong>е</strong>тся причиной <strong>е</strong>го появл<strong>е</strong>ния?<br />
IMimidted<br />
Cortinue, the<br />
ушсЛЛОіЛ.Л<strong>е</strong><br />
Index was outside<br />
* * * * * * * * * * * * * * Exception Text * * * * * * * * * * * * * *<br />
System.Runtime.Serialization.SerializationException: End of Stream encountered before parsing<br />
was completed.<br />
atSystem.Runtime.Serialization.Formatters.Binary._BinaryParser.Run()<br />
пробл<strong>е</strong>ма с классом<br />
BinaryFormatter.<br />
Это пр<strong>е</strong>дполож<strong>е</strong>ни<strong>е</strong><br />
им<strong>е</strong><strong>е</strong>т смысл,<br />
так как прилож<strong>е</strong>ни<strong>е</strong><br />
пыталось д<strong>е</strong>с<strong>е</strong>риализовать<br />
т<strong>е</strong>кстовый<br />
файл.<br />
Много<strong>е</strong> можно узнать из<br />
г.т<strong>е</strong>ка вызова, в<strong>е</strong>дь там<br />
показыва<strong>е</strong>тся список<br />
запущ<strong>е</strong>нных А/івтодов.<br />
Вы видит<strong>е</strong>, что м <strong>е</strong><br />
тод OpenFileQ класса<br />
Excuse вызыва<strong>е</strong>тся <strong>е</strong>го<br />
конструктором (.ctor),<br />
который, в свою оч<strong>е</strong>р<strong>е</strong>дь,<br />
вызыва<strong>е</strong>тся обработчиком<br />
событии кнопки<br />
Random Excuse.<br />
atSystem.Runtime.Serialization.Fon7iatters.Binary.ObjectReader.Deserialize(HeaderHandler<br />
handler, _BinaryParserserParser, Boolean fCheck, Boolean isCrossAppDomain,<br />
IMethodCallMessage methodCallMessage)<br />
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream<br />
serializationStream, HeaderHandler handler, Boolean fCheck, Boolean IsCrossAppDomain,<br />
IMethodCallMessage methodCallMessage)<br />
atSystem.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream<br />
serializationStream)<br />
'a t Chapter10.Excuse.OpenFile(String ExcusePath) in C:\Documents and Settings\Administrator\<br />
^My DocumentsWisua! Studio 2005\Projects\Chapter10\Chapter10\Excuse.cs:line 40<br />
at Chapter10.Excuse..ctor(Random random, String Folder) in C:\Documents and Settings\<br />
^dministrator\My DocumentsWisual Studio 2005\Projects\Chapter10\Chapter10\Excuse.cs:line 30<br />
^C hapter10.Form 1.random Excuse_Click(O bject sender, EventArgs e) in C:\Documents and<br />
Settings\AdministratortMy DocumentsWisual Studio 2005\Projects\Chapter10\Chapter10\Form1.<br />
csiline 146<br />
© Щ <strong>е</strong> л ч о к на к н о п к <strong>е</strong> D etails п озволя<strong>е</strong>т м н о го <strong>е</strong> узнать о п р и ч и н а х в о зн и к ш <strong>е</strong> й пробл<strong>е</strong>м ы . Есть<br />
ид<strong>е</strong>и, что со вс<strong>е</strong>м этим д<strong>е</strong>лать?<br />
дальш<strong>е</strong> ► 463