Hi, buptstehc at gmail.com writes: > odb::transaction t (db_->begin()); //1 > db_->persist(m); //2 > t.commit(); //3 > > and the exception throws at line 1. i have tried catch 'boost::system:: > system_error', but fails. It cannot be a Boost exception since none of the above code uses Boost. Try catching odb::exception. Boris