#35529 [Security]: End-user budget checks fail open on database lookup errors
### Summary
A database error while loading an end-user object is converted into `None`, which is indistinguishable from an end user that was not found. The centralized authorization path then omits the end-user budget check
### Current behavior
`get_end_user_object()` catches a broad `Exception` and returns `None`
The common-check construction only adds `_check_end_user_budget()` when an end-user object with a budget is available. When the lookup failed because the database was unavailable, the result is the same as the not-found case and no budget check runs
This is separate from failures while reading a spend counter. The `fail_closed_budget_enforcement` setting cannot restore a check that was removed because object lookup returned `None`
### Reproduction
Create an end-user row with a positive `max_budget`, then inject a repository failure:
~~~python from unittest.mock import AsyncMock, patch
with patch( "litellm.proxy.auth.auth_checks.EndUserRepository.table.find_unique", new=AsyncMock(side_effect=RuntimeError("database unavailable")), ): end_user = await get_end_user_object( end_user_id="existing-end-user", prisma_client=prisma_client, …