GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing www.tutorialspoint.com — Python - Warnings
Selected Reading
Python - WarningsIn Python, a warning is a message that indicates that something unexpected happened while running your code. Unlike an error, a warning will not stop the program from running. Warnings are used to alert the user about potential issues or deprecated features in the code. For example, if you are using a deprecated module in your code, you will get a warning message saying that the module is deprecated and will be removed in future versions of Python. But your code may still work as expected. Display a Warning MessageTo display a warning message in Python, you can use the warn() function from the warnings module. Here is an example − import warnings
# Normal message
print("TutorialsPoint")
# Warning message
warnings.warn("You got a warning!")
The output of the above code will be: TutorialsPoint
Warnings/Errors:
/home/cg/root/d732ac89/main.py:7: UserWarning: You got a warning!
warnings.warn("You got a warning!")
Types of Warnings ClassesThe warning in python is handled by a set of classes based upon the exception handling mechanism. The most common types of warnings are − 1. UserWarning ClassThe UserWarning is the default warning class in Python. If you have any warning that does not fall into any of the other categories, it will be classified as a UserWarning. To specify a UserWarning, use UserWarning as the second argument to the warn() function. Here is an example − import warnings
# Warning message
warnings.warn("You got a warning!", UserWarning)
2. DeprecationWarning ClassThe DeprecationWarning is used to indicate that a feature or module is deprecated and will be removed in future versions of Python. To specify a DeprecationWarning, use DeprecationWarning as the second argument to the warn() function. Here is an example − import warnings
# Warning message
warnings.warn("This feature is deprecated!", DeprecationWarning)
3. SyntaxWarning ClassThe SyntaxWarning is used to indicate that there is a syntax-related issue in the code, but it is not severe enough to raise a SyntaxError. To specify a SyntaxWarning, use SyntaxWarning as the second argument to the warn() function. Here is an example − import warnings
# Warning message
warnings.warn("This is a syntax warning!", SyntaxWarning)
# Function with potential syntax issue
def func(x):
return x is 10 # using "is" instead of "=="
4. RuntimeWarning ClassThe RuntimeWarning is a base class used to indicate that there is a doubtful issue related to runtime. To specify a RuntimeWarning, use RuntimeWarning as the second argument to the warn() function. Here is an example − import warnings
# Warning message
warnings.warn("This is a runtime warning!", RuntimeWarning)
5. ImportWarning ClassThe ImportWarning is used to indicate that there is an issue related to the import of a module. To specify an ImportWarning, use ImportWarning as the second argument to the warn() function. Here is an example − import warnings
# Warning message
warnings.warn("This is an import warning!", ImportWarning)
Warning FiltersWarning filters are used to control the behavior of warning messages in Python. For example, if you feel that a warning is severe, you can convert it into an error so that program will stop running. Or, if you feel that a warning is not important, you can ignore it. The filterwarnings() function from the warnings module can be used to specify warning filters. It can take following parameters:
Example: Turn Warning to an ErrorHere is a simple python code that shows how to turn warnings into errors − import warnings
# Turn warning into an error
warnings.filterwarnings("error", category=UserWarning)
try:
warnings.warn("This is a warning!", UserWarning)
except UserWarning as e:
print("Caught as error:", e)
The output of the above code will be − Caught as error: This is a warning! Example: Ignore WarningsHere is a simple python code that shows how to ignore warnings − import warnings
# Ignore all warnings
warnings.filterwarnings("ignore")
print("Warning message: ")
warnings.warn("This warning will be ignored!")
The output of the above code will be: Warning message: Function Available in Warning ModuleThe warnings module has couple of functions that you can use to manage warnings in your Python code. Here are some of the most commonly used functions − 1. warnings.warn()This function is used to issue a warning message. You can specify the warning message and the category of the warning. The syntax of the function is − warnings.warn(message, category=None, stacklevel=1,
source=None, *, skip_file_prefixes=())
Here, message is the warning message you want to display, and category is the type of warning (e.g., UserWarning, DeprecationWarning, etc.). The stacklevel argument can be used by wrapper functions written in Python to adjust the stack level of the warning. The skip_file_prefixes keyword argument can be used to indicate which stack frames are ignored when counting stack levels. 2. warnings.showwarning()The showwarning() function is used to write warning messages to a file. Here is the syntax of the function: warnings.showwarning(message, category, filename, lineno, file=None, line=None) Here, message is the warning message, category is the type of warning, filename is the name of the file where the warning should be saved, lineno is the line number where the warning occurred. 3. warnings.warn_explicit()The warn_explicit() function is used to send a warning message with more control over the warning's context. It can be used to explicitly pass the message, category, filename and line number, and optionally the module name and the registry. Here is the syntax of the function − warnings.warn_explicit(message, category, filename, lineno, module=None,
registry=None, module_globals=None, source=None)
The parameters have same meaning as in the previous functions. 4. warnings.filterwarnings()The filterwarnings() function is used to set the warning filters. we have already disscussed how to use this function to ignore, always display, or convert warnings into errors. Here is the proper syntax of the function − warnings.filterwarnings(action, message='', category=Warning, module='', lineno=0, append=False) The parameter "action" can take any of the following values: "default", "always", "ignore", "error", "module", or "once". The other parameters are optional. 5. warnings.simplefilter()The simplefilter() function is a simpler interface to the filterwarnings() function. It is used to set a filter for a specific category of warnings. Here is the syntax of the function − warnings.simplefilter(action, category=Warning, lineno=0, append=False) The parameters have same meaning as in the previous functions. 6. warnings.resetwarnings()The resetwarnings() function is used to reset the warning filters to their default state. This can be useful if you want to clear any custom warning filters you have set. Here is the syntax of the function − warnings.resetwarnings() This function does not take any parameters. ConclusionIn this chapter, we learned about warnings in Python. Warnings are different from errors because they will not stop the program from running. It is just used to alert the programmer about potential issues in the code. The warnings module provides a way to issue warning messages and control their behavior. Advertisements
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |