다음과 같은 오류 메시지가 주어 (초보자 경고)Yesod 오류 메시지를 효과적으로 읽는 방법은 무엇입니까?
, 오류의 원인에 도착하는 가장 빠른 방법은 무엇 :
08/Jul/2016:11:39:01 +0530 [Error#yesod-core] expected EPlain but got Nothing for: DerefBranch (DerefIdent (Ident "show")) (DerefString "abcdef") @(yesod_3MCr4WfhviiELXmo3fAaXL:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:625:5)
GET/
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Status: 500 Internal Server Error 0.054158s
Handler/Home.hs:38:11:
No instance for (Text.Julius.ToJavascript String)
arising from a use of ‘Text.Julius.toJavascript’
In the second argument of ‘(GHC.Base..)’, namely
‘Text.Julius.toJavascript’
In the second argument of ‘(GHC.Base..)’, namely
‘(Text.Julius.unJavascript GHC.Base.. Text.Julius.toJavascript)’
In the expression:
Text.Shakespeare.EPlain
GHC.Base..
(Text.Julius.unJavascript GHC.Base.. Text.Julius.toJavascript)
Build failure, pausing...
나는 간단한 스캐 폴딩 사이트 (NO DB)와 함께 일하고 있어요 및 의도적으로 homepage.julius
으로 엉망이되었습니다. 이 특별한 경우에는 오류가 무엇인지 정확히 알고 있지만 오류 메시지를보고 어떻게 알 수 있습니까?
정확합니다. 그게 내가하려는 일이야. 그러나 내 질문은 다릅니다. 오류 메시지를보고 julius/cassius/hamlet 템플리트에서 오류의 원인이되는 정확한 행을 어떻게 알 수 있습니까? –
컴파일 중에 template haskell splices를 덤프하는 옵션이 있습니다. 그러나 오류의 원인은 코드를 호출 한 곳의 코드 라인이 될 것입니다. 이것이 제가 개인적으로 템플릿을 사용하지 않는 이유입니다. –
이 질문은 해결되지 않지만 템플릿 Haskell은보다 유용한 오류 메시지를 생성하기 위해 라인 pragma를 낼 수 있습니다. 나는이 템플릿 시스템이 그 일로 귀찮다 고 생각하지 않는다. – glguy