Как исправить TypeError

Ругается на вот эту функцию

def check_balance(self, user_id):
      self.c.execute("SELECT balance FROM users WHERE user_id=?", (user_id,)).fetchone()[0]

С вот такой ошибкой

    base_events.py [LINE:1738] #ERROR    [2022-11-15 11:52:58,347]  Task exception was never retrieved
future: <Task finished name='Task-10' coro=<Dispatcher._process_polling_updates() done, defined at /data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/aiogram/dispatcher/dispatcher.py:407> exception=TypeError("'NoneType' object is not subscriptable")>
Traceback (most recent call last):
  File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/aiogram/dispatcher/dispatcher.py", line 415, in _process_polling_updates
    for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
  File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/aiogram/dispatcher/dispatcher.py", line 235, in process_updates
    return await asyncio.gather(*tasks)
  File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/aiogram/dispatcher/handler.py", line 117, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/aiogram/dispatcher/dispatcher.py", line 256, in process_update
    return await self.message_handlers.notify(update.message)
  File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/aiogram/dispatcher/handler.py", line 117, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "<string>", line 30, in process_start_command
  File "/storage/emulated/0/ReferralBot/db.py", line 28, in check_balance
    self.c.execute("SELECT balance FROM users WHERE user_id=?", (user_id,)).fetchone()[0]
TypeError: 'NoneType' object is not subscriptable

Кто может помочь, пожалуйста?


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

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

Метод fetchone скорее всего вернул None, поэтому обращение по индексу в данном случае невозможно

→ Ссылка