El detalle es que Eloquent no es una clase estática, y ya maneja las excepciones a bajo nivel solo tienes que usar un try/catch en tu controller.
Código PHP:
Ver originaltry {
$newUser = User::create(
[
'username' => Input::get('username'),
]
);
} catch (\Exception $e) {
//manejo de excepción
}
Si requieres hacer el rollback
Código PHP:
Ver originalDB::beginTransaction();
try {
$newUser = User::create(
[
'username' => Input::get('username'),
]
);
} catch (\Exception $e) {
DB::rollBack();
}
DB::commit();
Esta misma lógica se puede meter a un servicio que capture la excepción, mire de que tipo es mediante instanceof y te dispare la que necesites en el controlador para manejarla.