I want to raise an exception whenever i get data value as None. How can we achieve it without using custom exception?
Ex:
def foo():
<some code>
return data
@store.route("/store", methods=["GET"])
def fun():
try:
data = foo()
if not data:
raise HTTPError()
except HTTPError as he:
return "Internal server error", 500
I tried above one, but its not working, appreciate your help
CodePudding user response:
I think sou can rais a http error as following:
from urllib2 import urlopen, HTTPError # or from urllib.error import HTTPError
def fooo():
raise HTTPError()
fooo()
CodePudding user response:
In Python, you can raise an HTTPError exception using the raise keyword and passing an instance of the HTTPError class. The HTTPError class is part of the urllib.error module, which is a submodule of the urllib module.
Here is an example of how you can raise an HTTPError exception:
Copy code from urllib.error import HTTPError
try: # Code that may raise an HTTPError raise HTTPError("HTTP Error occurred")
except HTTPError as e: print("An HTTPError occurred:", e) In this example, we're importing the HTTPError class from the urllib.error module and then raising an instance of the HTTPError class inside a try-except block.
You can also raise an HTTPError by passing a status code and a message as arguments to the HTTPError class:
Copy code raise HTTPError(404, "Not Found") This will raise an exception with a status code of 404 and a message of "Not Found".
Please keep in mind that raising an exception should be used as a last resort and only when it is not possible to handle the error in any other way, such as by returning an error status code or message.