Python 1
Python 1
PROGRAMMING
|TOPIC : ERRORS AND DEBUGGING
1. TYPES OF ERRORS
• Errors and debugging are crucial parts of Python programming, as they help you identify,
understand, and fix issues in your code. Here’s an overview:
• In Python, there are generally three types of errors:
• 1.Syntax Errors: Occur when the Python parser cannot understand a line of code due to
incorrect syntax.
-Example: print("Hello" (missing closing parenthesis).
-Solution: Review the line where the error is flagged to correct the syntax.
• 2.Runtime Errors: Happen while the code is running, typically due to invalid operations
(e.g., dividing by zero, accessing a non-existent list index).
-Example: x = 10 / 0 (division by zero error).
-Solution: Use error handling (try-except blocks) to manage and debug such cases.
3.Logical Errors: The code runs without syntax or runtime errors but produces incorrect
results due to logic flaws.
-Example: Implementing a loop incorrectly, leading to infinite loops or unexpected outcomes.
-Solution: Debug by checking logic and test with sample inputs.
2.DEBUGGING TECHNIQUES
• Debugging is the process of locating and fixing issues in code. Here are some
key debugging techniques:
• 1.Print Statements: Adding print() statements to display variable values and the
program flow.
• Example:x = 5 y = 10print(f"x = {x}, y = {y}")result = x + yprint(f"Result = {result}“
2.Using assert Statements: To check assumptions and throw an error if a
condition is not met.
Example: def divide(a, b): assert b != 0, "b should not be zero" return a / b
• 3.Logging: The logging module provides more flexibility than print statements, allowing for
various log levels (INFO, DEBUG, WARNING, ERROR)•
• Example:
• import logging
• logging.basicConfig(level=logging.DEBUG)logging.debug("This is a debug message")
• 4.Using a Debugger: Python IDEs like PyCharm, VS Code, and others have built-in debuggers,
which let you step through code line by line, inspect variable states, and set breakpoints.
• •Setting breakpoints allows you to pause execution at a specific line to inspect the program
state.
• 5.Exception Handling: Use try-except blocks to catch and handle errors gracefully.
• Example:
• try: x = int(input("Enter a number: "))
• result = 10 / x
• except ValueError: print("Invalid input; please enter an integer.")except
ZeroDivisionError: print("Division by zero is not allowed.")
• 6.Testing: Writing test cases using unittest or pytest frameworks can catch errors early
and validate code correctness.
3.COMMON DEBUGGING PRACTICES
• Isolate the Problem: Focus on the part of the code where the issue appears to
occur.
• Use Comments and Code Simplification: Commenting out parts of the code can
help identify issues.
• Use Version Control: Tools like Git allow you to revert changes and track when
bugs were introduced.
4.TOOLS FOR DEBUGGING
• Python Debugger (pdb): This is a built-in Python module that provides an interactive
debugging environment.
• Example usage:
• import pdb; pdb.set_trace()
• IDE Debugging Tools: Most IDEs support advanced debugging features, such as
stepping over functions, inspecting variables, and even modifying variable values on the
fly.
• By mastering these techniques, you can efficiently identify and fix errors in Python,
leading to more robust and reliable code.
SUBMITTED BY
MUHAMMAD YANEESH
3RD BCA