Имам следния код:
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 без копиране на код във всички манипулатори.