לעתים בכתיבת קוד, אנחנו כותבים קוד מהצורה הבאה:
|
|
כלומר, בסוף אנחנו בכל מקרה רוצים לסגור את הקובץ.
השיטה הנכונה היא להשתמש בkeyword ששמו finally שתפקידו הוא לוודא שפעולה שאנחנו רוצים קורית בסופו של דבר אחרי block של try-catch:
|
|
שימו לב שאפשר לשאול מה יקרה אם יעוף exception בClose בתוך הfinally. ובכן, ברוב הפונקציות שאנחנו נרצה לקרוא להן גם במקרה של הצלחה וגם במקרה של כשלון (כלומר בfinally) חשבו על זה, ולכן הפונקציות האלה לא זורקות exceptionים. 😃
לדוגמה:
A call to Close is required for proper operation of a stream. Following a call to Close, other operations on the stream could throw exceptions. If the stream is already closed, a call to Close throws no exceptions.
שבוע גשום טוב