Mastering Exception Handling and Interactive Debugging for Resilient Code