From a08db79dfde4b1af92586d2e2d855ef4cfcd6f61 Mon Sep 17 00:00:00 2001 From: Miguel BarĂ£o Date: Fri, 1 May 2020 16:28:47 +0100 Subject: [PATCH] fix exception handling of sqlalchemy --- perguntations/app.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/perguntations/app.py b/perguntations/app.py index 42cc310..deeac3c 100644 --- a/perguntations/app.py +++ b/perguntations/app.py @@ -10,9 +10,9 @@ import json import logging from os import path -# user installed packages +# installed packages import bcrypt -from sqlalchemy import create_engine +from sqlalchemy import create_engine, exc from sqlalchemy.orm import sessionmaker # this project @@ -73,9 +73,10 @@ class App(): try: yield session session.commit() - except Exception: + except exc.SQLAlchemyError: logger.error('DB rollback!!!') session.rollback() + raise finally: session.close() @@ -359,7 +360,7 @@ class App(): try: with self.db_session() as sess: sess.add(Student(id=uid, name=name, password='')) - except Exception: - logger.error('Insert failed: student %s already exists.', uid) + except exc.SQLAlchemyError: + logger.error('Insert failed: student %s already exists?', uid) else: logger.info('New student inserted: %s, %s', uid, name) -- libgit2 0.21.2