    /// @notice Oracle of the collateral token
    IOracle public immutable oracle;
function spotPrice() public view returns (uint256) {
  return oracle.spot(address(token));
}
contract CDPVault {

..snip
    // CDPVault Parameters
    /// @notice Oracle of the collateral token
    IOracle public immutable oracle;
+    /// @notice Secondary/fallback oracle in case the primary oracle fails
+    IOracle public immutable fallbackOracle;

..snip

    function spotPrice() public view returns (uint256) {
-        return oracle.spot(address(token));
+        // Try getting the price from the primary oracle
+        try oracle.spot(address(token)) returns (uint256 price) {
+            return price;
+        } catch {
+            // If the primary oracle call fails, fall back to the secondary oracle
+            return fallbackOracle.spot(address(token));
+        }
+    }


..snip
}
