show better errors for unbalanced transaction and missing default year
This commit is contained in:
parent
00ad42e629
commit
d1418a2a21
@ -313,7 +313,7 @@ ledgerTransaction = do
|
|||||||
let t = LedgerTransaction date status code description comment postings ""
|
let t = LedgerTransaction date status code description comment postings ""
|
||||||
case balanceLedgerTransaction t of
|
case balanceLedgerTransaction t of
|
||||||
Right t' -> return t'
|
Right t' -> return t'
|
||||||
Left err -> error err
|
Left err -> fail err
|
||||||
|
|
||||||
ledgerdate :: GenParser Char LedgerFileCtx Day
|
ledgerdate :: GenParser Char LedgerFileCtx Day
|
||||||
ledgerdate = try ledgerfulldate <|> ledgerpartialdate
|
ledgerdate = try ledgerfulldate <|> ledgerpartialdate
|
||||||
@ -331,7 +331,7 @@ ledgerpartialdate = do
|
|||||||
(_,m,d) <- md
|
(_,m,d) <- md
|
||||||
many spacenonewline
|
many spacenonewline
|
||||||
y <- getYear
|
y <- getYear
|
||||||
when (y==Nothing) $ error "partial date found, but no default year specified"
|
when (y==Nothing) $ fail "partial date found, but no default year specified"
|
||||||
return $ fromGregorian (fromJust y) (read m) (read d)
|
return $ fromGregorian (fromJust y) (read m) (read d)
|
||||||
|
|
||||||
ledgerdatetime :: GenParser Char LedgerFileCtx LocalTime
|
ledgerdatetime :: GenParser Char LedgerFileCtx LocalTime
|
||||||
|
|||||||
4
Tests.hs
4
Tests.hs
@ -84,7 +84,9 @@ $ hledger -f sample.ledger balance --depth 1
|
|||||||
{-
|
{-
|
||||||
@
|
@
|
||||||
$ printf "2009/1/1 a\n b 1.1\n c -1\n" | runhaskell hledger.hs -f- reg 2>&1 ; true
|
$ printf "2009/1/1 a\n b 1.1\n c -1\n" | runhaskell hledger.hs -f- reg 2>&1 ; true
|
||||||
hledger.hs: could not balance this transaction, amounts do not add up to zero:
|
"-" (line 4, column 1):
|
||||||
|
unexpected end of input
|
||||||
|
could not balance this transaction, amounts do not add up to zero:
|
||||||
2009/01/01 a
|
2009/01/01 a
|
||||||
b 1.1
|
b 1.1
|
||||||
c -1
|
c -1
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user