2016-09-17 2 views
0

JSON을 생성하고 파일로 인쇄하는 프로그램이 있습니다. JSON을 생성하는 함수는 코드 생성의 중간 단계에서 실패 할 수 있습니다.Haskell : abort writeFile on error

JSON 생성에 오류가 발생하면 그 시점까지 생성 된 코드가 여전히 파일에 기록되어 불완전하거나 잘못된 출력 파일을 제공합니다.

나쁜 출력이 기록되지 않도록하는 방법을 알아 내려고합니다. 다음과 같이하십시오 :

+0

변경하려면'encodingFunction'이 필요합니다. 어떤 시점에서 오류가있을 수있는'String'을 반환하는 대신'Maybe String'을 반환해야합니다. – amalloy

+0

@amalloy'encodingfunction'을 변경 했는데도 여전히 같은 문제가 있습니다. 내 프로그램의 모든 단일 기능을'어쩌면'형식으로 변경해야합니까? – matthias

+0

'writeFile' 호출에서'output'보다는'x'를 사용해야하지만 코드가 작동해야합니다. 그래도 문제가 발생하는 경우 [최소, 완전하고 검증 가능한 예]를 작성하십시오. http://stackoverflow.com/help/mcve) 답변자가 무엇이 잘못되었는지 확인할 수 있습니다. – amalloy

답변

0

반환되는 문자열을 강제 평가하여 파일에 쓰기를 시작하기 전에 인코딩 기능을 확실히 수행하고자 할 수 있습니다. Mabye를 인쇄하기 전에 길이를 확인할 수 있습니다.