```typescript
/** Checks if a number is finite (not NaN or infinity). */
function isFiniteNumber(num: number): boolean {
  return typeof num === "number" && !isNaN(num) && Number.isFinite(num);
}

/** The temperature in degrees Fahrenheit. */
export function celsiusToFahrenheit(celsius: number): number {
  if (!isFiniteNumber(celsius)) {
    throw new Error("celsius must be a finite number");
  }
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
  return celsius * 1.8 + 32;
}

/** The temperature in kelvin. */
export function celsiusToKelvin(celsius: number): number {
  if (!isFiniteNumber(celsius)) {
    throw new Error("celsius must be a finite number");
  }
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
  return celsius + 273.15;
}
```