Телеграм бот отвечающий за погоду падает после неправильного введение города

Телеграм бот отвечающий за погоду падает после неправильного введение города. Что нужно написать чтобы он не падал а отвечал что город введен неправильно? Вот такая ошибка выходит:

ERROR - TeleBot: "NotFoundError occurred, args=('Unable to find the resource',)

вот сам код:

import pyowm
from pyowm.owm import OWM
from pyowm.utils.config import get_default_config

config_dict = get_default_config()
config_dict['language'] = 'ru'
owm = OWM('489f45987eb92460dc4955babb3bbeec', config_dict)

import telebot

owm = pyowm.OWM('489f45987eb92460dc4955babb3bbeec')
mgr =  owm.weather_manager()

bot = telebot.TeleBot("1317148098:AAFoaJ5MVh-Q6Y2c2fCpRL496CbivpersAg")

@bot.message_handler(content_types=['text'])
def send_echo(message):
    observation =  mgr.weather_at_place( message.text )
    w =  observation.weather
    temp = w.temperature('celsius')["temp"]

    answer = f"В городе {message.text} сейчас {w.detailed_status}\n"
    answer += " Температура сейчас примерно градусов "+ str(temp) + "\n\n"

    if temp < 10:
        answer += "Сейчас жестко холодно, куртку одевай ежже" 
    elif temp < 20:
        answer += "Сейчас прохладно, оденься потеплее" 
    else:
        answer += "Температура найс, одевайся как хош" 

    bot.send_message(message.chat.id, answer)
bot.polling( none_stop = True)

Ответы (2 шт):

Автор решения: vanynyny

добавь это в функцию:

try: 
    observation =  mgr.weather_at_place( message.text )
    w =  observation.weather
    temp = w.temperature('celsius')["temp"]
except NotFoundError:
    answer = "город не найден!"
→ Ссылка
Автор решения: Jogim

Ваш бот ловит исключение NotFoundError при введении неправильного либо несуществующего города, поэтому Вам можно попробывать конструкцию с try и except для ловли подобного рода проблем, как у пользователя давшего ответ ниже.

Также можно добавить конструкцию с while которая будет спрашивать у пользователя повторное введение города, до того момента, пока город не будет верный. К примеру:

while True:
      try:
          observation = mgr.weather_at_place(message.text)
          w = observation.weather
          temp = w.temperature('celsius')["temp"]
          break
          # Если всё верно и исключение не возникает, цикл завершается и продолжается работа.
      except NotFoundError:
          # Запрос на введение города.


→ Ссылка