Куда вставить код чтобы телеграм бот не падал после неправильного введение

Я написал телеграм бота отвечающего за погоду, но проблема в том что он каждый раз падает после неправильного введение города. Вот код который по идее должен исправить эту ошибку:

try: 
    observation =  mgr.weather_at_place( message.text )
    w =  observation.weather
    temp = w.temperature('celsius')["temp"]
except NotFoundError:
    answer = "город не найден!"

А вот сам код:

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('abcd1234', config_dict)

import telebot

owm = pyowm.OWM('abcd1234')
mgr =  owm.weather_manager()

bot = telebot.TeleBot("123:ABC123")

@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)

И теперь вопрос в том что, куда именно необходимо вставить код исправляющий ошибку. И да я совсем чайник, только начинаю обучение языкам


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

Автор решения: Вадим Александру

Можно так:

    @bot.message_handler(content_types=['text'])
    def send_echo(message):
        try:
            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 += "Температура найс, одевайся как хош"
        except NotFoundError:
            answer = "город не найден!"
        
    bot.send_message(message.chat.id, answer)
bot.polling( none_stop = True)
→ Ссылка