Cuando estoy programando en Erlang, ¿debo validar todos los valores devueltos de las llamadas a funciones para el éxito mediante la coincidencia de patrones, incluso si no tengo la intención de utilizar el valor de retorno? La mayoría de las API de Erlang que he visto hasta ahora no arrojan excepciones por error (pero devuelven algo como {error, Error}), así que debo validar el valor de retorno ¿sí? ¿Alguna excepción a esto en la que realmente no tengo que preocuparme?¿Debo ser un patrón que coincida con cada valor de retorno?
5
A
Respuesta
11
Es un buen programa de programación para colgar lo antes posible cuando algo ha salido mal. Todo lo que ejecutes después se hará con el sistema en un estado desconocido.
A menos que tenga la intención de manejar el valor del error y hacer algo al respecto, escriba su código para el caso exitoso. Como en el siguiente pequeño bucle triste:
life() ->
ok = work(),
ok = rest(),
life().
Cuestiones relacionadas
- 1. ¿Debo dar siempre un valor de retorno a mi función?
- 2. patrón de expresión regular que coincida con números, bloques alphabetcic
- 3. Patrón para que coincida con la lista de elementos idénticos
- 4. macroaplicaciones 'retorno' un valor
- 5. Buscar todos los nodos que tengan un atributo que coincida con un cierto valor con scala
- 6. Listado de archivos en un directorio que coincida con un patrón en Java
- 7. ¿Cómo puedo comprobar si existe un nombre de archivo que coincida con un patrón en Perl?
- 8. expresión regular para que coincida con un patrón, pero excluye un conjunto de palabras
- 9. Encontrar un elemento que coincida con el predicado en Scala
- 10. Uso grep para que coincida con un patrón en una línea de una sola vez
- 11. ¿Cómo devolver un valor de retorno complejo?
- 12. Busque el primer archivo que coincida con un patrón usando PowerShell
- 13. ¿Cómo se escribe un patrón de prueba de archivo mágico para que coincida con el final de un archivo?
- 14. "sys.getrefcount()" valor de retorno
- 15. búsqueda de php (difusa) que coincida con
- 16. Patrón de comando - devuelve un valor
- 17. ¿Cómo puedo encontrar elementos que contengan un atributo data- * que coincida con un prefijo usando jquery
- 18. Devolver un valor con jQuery cada() función
- 19. Dapper - Mapeo de múltiples con un único valor de retorno
- 20. iPhone - performSelectorOnMainThread con valor de retorno
- 21. pruebe el valor de retorno de un método que desencadena un error con PHPUnit
- 22. expresiones regulares para que coincida con EOF
- 23. Jquery valor de retorno
- 24. F #: ¿Cómo coincido un patrón con un valor de tipo?
- 25. ¿Debo definir cada operador individual?
- 26. Erlang: ¿Hay alguna forma de que coincida un patrón con un registro en una cláusula de recepción?
- 27. Aplicar un método sin valor de retorno a cada elemento de una lista
- 28. Seleccionar un elemento que coincida con varias etiquetas
- 29. Buscar nombres de atributos que comiencen con un determinado patrón
- 30. Fila de retorno de cada nécimo registro
Christian dijo que todo ... + 1. – jldupont
Sí, esto es lo que pensé. El problema es que una de las API de terceros que estoy usando no funciona correctamente en caso de éxito. Después de guardar un documento, devuelve el documento guardado. Devuelvo SomeComplexDoc en lugar de {ok, SomeComplexDoc}. –
@Jeremy, solo puede guardar el documento y luego coincidir en la siguiente línea. 'Doc = my_api_call()', 'ok = is_valid_doc (Doc)'. – Zed