Performance: Abort for intentional errors
MEDIUM IMPACT
This affects how quickly the server responds with error pages and how much unnecessary processing is avoided.
from flask import abort, render_template def view(): if not valid_request(): abort(400, description='Invalid request') data = expensive_db_call() return render_template('success.html', data=data)
def view(): if not valid_request(): return render_template('error.html', message='Invalid request') # continue processing data = expensive_db_call() return render_template('success.html', data=data)
| Pattern | Server Processing | Response Delay | Network Payload | Verdict |
|---|---|---|---|---|
| Continue processing on error | High (runs full logic) | Longer (delayed error) | Same | [X] Bad |
| Abort early on error | Low (stops immediately) | Short (fast error response) | Same | [OK] Good |