Skip to content

implement robust error handling and fix infinite loop (Issue #51)#67

Open
imuday984 wants to merge 1 commit intoHunxByts:mainfrom
imuday984:prevent-the-loop
Open

implement robust error handling and fix infinite loop (Issue #51)#67
imuday984 wants to merge 1 commit intoHunxByts:mainfrom
imuday984:prevent-the-loop

Conversation

@imuday984
Copy link

This PR addresses several stability issues, including the infinite loop/crash reported in Issue #51, by modernizing the script's architecture and error-handling capabilities.

Key Changes:
Centralized Network Logic: Introduced a get_data() helper function. This ensures that all API calls are wrapped in try-except blocks to handle ConnectionError and Timeout gracefully without crashing the CLI.

Improved Loop Structure: Replaced recursive function calls in the main menu with a standard while True loop. This prevents potential RecursionError and improves memory efficiency.

Input Validation: Added a "catch-all" else block in the menu selection to handle invalid or empty user inputs safely.

Code Cleanliness: Utilized a decorator (@is_option) to handle UI boilerplate (clearing screen and showing banners), allowing the core logic functions to remain clean and focused.

Testing Done:
--> Tested IP Tracker with no internet connection (properly displays error instead of traceback).

-->Tested menu with invalid inputs like strings and empty spaces (re-prompts correctly).

--> Verified that the "Username Tracker" still functions with the new request helper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant