DevNet Associate (DEVASC) v1.0Software Development and DesignEasy
A developer is writing a Python script to manage network device configurations. The script needs to handle potential errors gracefully, such as a device being unreachable or an API returning an invalid response. Which Python construct is specifically designed to catch and handle these types of runtime errors?
- Awhile loops
- Bassert statements
- Ctry/except blocks
- Dif/else statements
Show answer & explanationAnswer & explanation
Correct answer: C. try/except blocks
The `try/except` block in Python is the standard mechanism for handling exceptions, which are runtime errors that interrupt the normal flow of a program. It allows the program to attempt a potentially error-prone operation and then 'catch' and handle any exceptions that occur.
Why the other options are wrong
- A. `while` loops are for repetitive execution of code as long as a condition is true, unrelated to error handling.
- B. `assert` statements are used for debugging to check if a condition is true; they raise an `AssertionError` if false, but are not for general error handling in production code.
- D. `if/else` statements are for conditional logic based on expected conditions, not for catching unexpected runtime errors (exceptions).
Python Try-Except
The `try-except` block in Python is used for exception handling. Code that might raise an exception is placed inside the `try` block, and code to handle specific exceptions is placed inside the `except` block.
- Handles runtime errors (exceptions)
- Prevents program crashes
- Allows for graceful error recovery
- Can catch specific exception types
Memory trick: Try to do it, if it fails, 'except' it and fix it.