There is no Python While Finally combination in Python. The final block is used in exception handling to ensure that a certain code block is executed regardless of whether an exception is raised. It’s typically used in a try
–except
structure.
However, the finally
block doesn’t directly relate to a while
loop. A while
loop is used for the iterative execution of a block of code as long as a specified condition is true. The finally
block, on the other hand, is focused on executing code after a try
–except
block, not after a while
loop.
Here’s a basic example of how you might use the finally
block with a try
–except
block:
try:
# Code that might raise an exception
x = 10 / 0 # This will raise a ZeroDivisionError
except ZeroDivisionError:
print("Cannot divide by zero")
finally:
print("This will always be executed, regardless of an exception")
Python While Finally example
we’ll simulate a scenario where a user is repeatedly prompted to enter a number until they provide a valid input, and we’ll use a finally
block to ensure that some cleanup code is executed regardless of whether an exception occurs.
def get_valid_number():
while True:
try:
number = int(input("Please enter a number: "))
break
except ValueError:
print("Invalid input. Please try again.")
return number
try:
result = get_valid_number()
print("You entered:", result)
finally:
print("Cleanup code: This will always be executed.")
Output:
In this example:
- We define a function
get_valid_number()
that uses awhile
loop to repeatedly prompt the user for a number until a valid input is provided. The loop continues until the user enters a value that can be converted to an integer. - Inside the
try
block, we call theget_valid_number()
function to get a valid number from the user. If the user enters an invalid input (e.g., a non-numeric value), aValueError
exception is caught and an error message is displayed. - Regardless of whether an exception occurs or not, the
finally
block is executed. In this example, we print a message indicating that the cleanup code is being executed.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.