Code #1: Using raise statement all by itself.
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:
...
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 %
Last Updated :
12 Jun, 2019
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...