Problem – Reraising the exception, that has been caught in the except block.
def example(): try : int ( 'N/A' ) except ValueError: print ( "Didn't work" ) raise example() |
Output :
Didn't work Traceback (most recent call last): File "", line 1, in File "", line 3, in example ValueError: invalid literal for int() with base 10: 'N/A'
This problem typically arises when there is no need to take any action in response to an exception (e.g., logging, cleanup, etc.). A very common use might be in catch-all exception handlers.
Code #2 : Catching all exception handlers.
try : ... except Exception as e: # Process exception information in some way ... # Propagate the exception raise |
Problem 2 – To have a program issue warning messages (e.g., about deprecated features or usage problems).
Code #3: Using the warnings.warn()
function
import warnings def func(x, y, logfile = None , debug = False ): if logfile is not None : warnings.warn( 'logfile argument deprecated' , DeprecationWarning) |
The arguments to warn()
are a warning message along with a warning class, which is typically one of the following:
UserWarning, DeprecationWarning, SyntaxWarning, RuntimeWarning, ResourceWarning, or FutureWarning.
The handling of warnings depends on how the interpreter is executed and other configuration.
Output when running Python with the -W all
option.
bash % python3 -W all example.py
example.py:5: DeprecationWarning: logfile argument is deprecated
warnings.warn('logfile argument is deprecated', DeprecationWarning)
Normally, warnings just produce output messages on standard error. To turn warnings into exceptions, use the -W error
option.
bash % python3 -W error example.py
Traceback (most recent call last):
File "example.py", line 10, in
func(2, 3, logfile ='log.txt')
File "example.py", line 5, in func
warnings.warn('logfile argument is deprecated', DeprecationWarning)
DeprecationWarning: logfile argument is deprecated
bash %
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.