The key difference is where the unhandled exception is caught. E.g. if madExcept catches an exception inside of some secondary thread, the "continue" button is enabled, because the thread dying doesn't mean the whole program goes down. If an exception occurs inside of the main thread, the "continue" button will be enabled if the exception was caught by some try..except block, so that program execution can continue after that try..except block. If, however, the exception occurred in the main thread, *and* was not caught by any try..except block, then without madExcept you could see something like "runtime error 216", followed by the program closing down, or maybe an OS crash box. In this situation the continue button is disabled, because there's no proper way to continue execution.