как поднять это исключение - PullRequest
0 голосов
/ 14 апреля 2011
from shodan import WebAPI

SHODAN_API_KEY = "MY API KEY"
api = WebAPI(SHODAN_API_KEY)

host = api.host('98.111.2.190')

# Print general info

try:
     print """
             IP: %s
             Country: %s
             City: %s
      """ % (host['ip'], host.get('country', None), host.get('city', None))
except WebAPIError:
      print "No information available for that IP."

Я получаю shodan.api.WebAPIError: No information available for that IP., когда не удается найти IP-адрес в базе данных, как я могу вызвать это исключение, чтобы распечатать, что для этого IP-адреса нет информации.

1 Ответ

2 голосов
/ 14 апреля 2011

Сначала вы должны импортировать исключение из пакета:

from shodan.api import WebAPIError

Затем, когда вы поймаете ошибку, вы можете повторно вызвать ее с сообщением:

try:
    # Here your code
except WebAPIError as e:
    e.args = ('My new message',) # Remember the comma! It is a tuple
    raise # Re-raise the exception

или:

try:
    # Here your code
except WebAPIError:
    raise WebAPIError('My new message')

Но я предпочитаю первый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...