typestar

Lanzar errores en Mojo

raise Error(...) rechaza una entrada que la función no puede honrar.

def withdraw(balance: Int, amount: Int) raises -> Int:
    if amount <= 0:
        raise Error("amount must be positive")
    if amount > balance:
        raise Error("insufficient funds: " + String(balance))
    return balance - amount

def main() raises:
    print(withdraw(100, 30))
    print(withdraw(70, 70))

Cómo funciona

  1. Cada guarda revisa una precondición y lanza con un mensaje.
  2. String(balance) mete un valor dentro del texto del error.
  3. El return se alcanza solo cuando las dos guardas dejan pasar la llamada.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
10
Caracteres a escribir
277
Tokens
70
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 49 segundos.

Escribe este fragmento

Paso 1 de 3 en Errores; paso 23 de 26 en Fundamentos del lenguaje.

← Anterior Siguiente →