פעם חשבתי שניהול החריגות של ג'אווה ורובי גמיש מאוד, ומאוד רציתי שגם בפסקל יהיה ניהול שכזה (מבחינת תחביר הכוונה), אבל אז התחלתי לעבוד בצורה רצינית יותר עם 2 השפות והתחלתי למצוא הרבה בעיות שם.
למשל ברובי מצאתי מצב בו אני ממש צריך לתפוס את אובייקט Object (המחלקה הנמוכה ביותר ברובי עד גרסה 1.8 כולל) בשביל ממש לטפל בכל חריגה שקיימת. בג'אווה גם יש כל מיני סוגי חריגות שException פשוט יפספס (נגיד Thread.Exception שלא שייך לך, אבל יפיל אותך וכמובן גם RunTimeException ששוכחים אותו הרבה מאוד פעמים), כך שלא תמיד פשוט וברור לדעת אילו חריגות יתפסו אצלנו ואילו לא, בייחוד כאשר אנחנו רוצים לטפל בהם, ולא רק לתפוס את כל החריגות. כלומר ברובי אם אני תופס את הכל וזהו, אז מן הסתם יהיה לי ניהול חריגות, אבל אז לא תמיד אצליח לעבוד איתו כמו שצריך.
ואז הבנתי עד כמה לא הבנתי נכון את טיפול החריגות של שפת פסקל אשר קיימות כבר למעלה מ20 שנה, וההבנה הזו התרחשה ממש לפני שנה (תחילת אמצע 2010). פתאום הרצון לניהול חריגות הפך להיות גמיש ונוח יותר עבורי, כי פתאום הבנתי את הכוח שלו, וזה רק כאשר כאמור השתמשתי בשפות אחרות.
לשם השוואה, בשפת Java אנחנו עושים חריגות בצורה הבאה: להמשיך לקרוא