Is it possible to throw an exception while performing a DML on a list of records, such that, successful records are committed to DB, but exception is thrown for the records which failed?  

If I use Database class for DMLs with the allOrNone parameter set to false, successful records are getting commited, but no exceptions are thrown.