У меня есть следующий код:
class CounterIDHandler(RequestHandler):
@gen.coroutine
def get(self, counter_id):
try:
object_id = bson.objectid.ObjectId(counter_id)
except bson.errors.InvalidId as e:
self.finish(json_encode({'e': str(e)}))
return
# I want to finish execution here
class CounterHandler(CounterIDHandler):
@gen.coroutine
def get(self, counter_id):
super().get(counter_id)
print("this should not print if we get exception in super().get")
try:
# I want to use object_id here
except Exception as e:
self.finish(json_encode({'e': str(e)}))
Это, очевидно, не работает, но показывает, что я пытаюсь сделать. self.finish()
завершает соединение с клиентом, но не прекращает выполнение.
Я хочу проверить, что counter_id является допустимым object_id без копирования и вставки кода во всех обработчиках.