Duda sobre ok y manejo de errores

Duda sobre ok y manejo de errores

de Viviane Kunin Feder -
Número de respuestas: 1

Hola, no me queda muy claro como y cuando se utiliza la variable ok para controlar errores.

Muchas funciones de las que debemos crear en ejercicios deberían retornar en ok si pudieron obtener o eliminar el archivo de forma correcta por ejemplo. 

En los casos que nos dan una direcciona absoluta esto sería verificar cuando recorremos los directorios que el tipo de archivo coincida con lo que buscamos en ese momento (directorio si no es el final de la direccion absoluta y archivo si fuera el final de la direccion)? 

Por ejemplo haciendo:

if (entry_actual.tipo==archivo and not is_empty(pila)) or (entry_actual.tipo==directo and is_empty(pila))

       ok=false

Y si reviso de esta forma que la dirección es correcta, luego tendríamos que poner un if ok para continuar la ejecución del algoritmo solo si la dirección recibida está bien?

Además las funciones para leer y escribir también retornan un valor en ok, este deberíamos usarlo para actualizar al misma variable ok que ya teníamos? Es decir que ok sería falso si nosotros encontramos un error en la dirección o hay un error de lectura o escritura en algún punto?

Gracias!

En respuesta a Viviane Kunin Feder

Re: Duda sobre ok y manejo de errores

de Santiago Freire Lopez -

Hola Viviane,

El 'ok' que se devuelve en la función a implementar se utiliza para indicar si la operación se completó exitosamente.

Algunos ejemplos de errores es que la operación falle por un error de lectura o escritura de disco (readDisk o writeDisk te dicen si completaron correctamente), si no se encuentra el archivo/directorio buscado luego de buscar en todos los bloques correspondientes, o si te pasan como parámetro un dato incorrecto (camino vacío, dir entry de tipo equivocado, etc.).

Cómo asignes 'ok' en tu implementación va a depender del algoritmo que hagas, pero lo que sí no debería pasar es que continúes el algoritmo si ya te encontraste con un error que te invalida la operación.

Saludos,

Santiago.