Published Sep 3, 2019

Episode 7: Error Handling

    Delve into sophisticated error handling strategies at the architectural level with insights from Arno, Markus, Bertrand Meyer, and Priyanka Raghavan, as they dissect the balance between local and global exception handling, the role of Design by Contract, and effective methodologies for managing software bugs and infrastructure problems.
    Episode Highlights
    Software Engineering Radio - the podcast for professional software developers logo

    Popular Clips

    Episode Highlights

    • Notification Needs

      Error handling is crucial for different groups, including end users, administrators, and programmers. Bertrand Meyer emphasizes the importance of notifying system administrators, especially in non-interactive systems, to ensure they can address issues promptly 1. He explains that programmers need detailed error information for effective debugging, while end users should receive understandable notifications to maintain trust in the software 2.

         

      Graceful Degradation

      Graceful degradation involves reducing functionality rather than halting operations entirely when errors occur. Priyanka Raghavan and Bertrand discuss the importance of maintaining some level of service, even if it's limited, to avoid complete system failure 2. Bertrand highlights the use of high-level catch blocks to manage exceptions efficiently, allowing systems to continue operating in a reduced capacity 3.

         

      Local vs. Global

      Handling exceptions can be approached locally or globally, depending on the situation. Bertrand advises handling exceptions locally when possible to prevent unnecessary system-wide disruptions 4. He suggests using a high-level catch block for exceptions that cannot be managed locally, ensuring that the system remains stable and functional 3.

    Related Episodes