[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] [Babel] Handling of errors when using Ledger
From: |
Sébastien Vauban |
Subject: |
[Orgmode] [Babel] Handling of errors when using Ledger |
Date: |
Thu, 07 Oct 2010 13:55:32 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
#+TITLE: Handling of errors when using Ledger
#+LANGUAGE: en_US
* Journal data
#+srcname: data
#+begin_src ledger :tangle journal.dat
2008/01/03 * (SCORPIOS ) SEB VAUBAN
Assets:Bank:Checking:799997400530 550.00
EUR
Assets:Bank:Transferred
2008/01/01 * ( ) UNKNOWN-PAYEE
Assets:Bank:Checking:799997400530 21.91
EUR
Expenses:Unknown
#+end_src
* Testing
** Default case
Here the results of the standards =registry= command:
#+srcname: registry-cmd
#+begin_src ledger :cmdline reg :noweb yes :session
<<data>>
#+end_src
#+results: registry-cmd
: 08-Jan-03 SEB VAUBAN As:Ba:Che:799997400530 550.00 EUR 550.00
EUR
: Asset:Bank:Transferred -550.00 EUR
0
: 08-Jan-01 UNKNOWN-PAYEE As:Ba:Che:799997400530 21.91 EUR 21.91
EUR
: Expenses:Unknown -21.91 EUR
0
This is a perfectly acceptable output. Ideally, it could be converted to a
real Org table, but that's not the purpose of this posting.
** Other default case
Here, I would like to take a look at the transactions which involve the
unknown account:
#+srcname: just-show-unknown
#+begin_src ledger :cmdline reg unknown :noweb yes :session
<<data>>
#+end_src
#+results: just-show-unknown
: 08-Jan-01 UNKNOWN-PAYEE Expenses:Unknown -21.91 EUR -21.91
EUR
Perfect result. That will serve as "demo".
** No output
:PROPERTIES:
:ID: 52aa2449-0c3d-4dee-ad57-8b2e916ed501
:END:
#+srcname: no-output
#+begin_src ledger :cmdline reg unkXXXnown :noweb yes :session
<<data>>
#+end_src
#+results: no-output
** Error neither trapped nor shown
Let's imagine I thought (which was the case at some point) I needed to enclose
the parameters between quotes:
#+srcname: quoted-params
#+begin_src ledger :cmdline "reg unknown" :noweb yes :session
<<data>>
#+end_src
#+results: quoted-params
Nothing is returned. In fact, I would expect an error to be thrown, the same
way it should when run in a shell:
#+begin_src sh
ledger -f journal.dat "reg unknown"
#+end_src
that is:
: ~>ledger -f journal.dat "reg unknown"
: Error: Unrecognized command 'reg unknown'
:
: ~>echo $?
: 1
Here, the shown results is exactly the same as in the
[[id:52aa2449-0c3d-4dee-ad57-8b2e916ed501][No output]] case. As if
the command ended successfully, with an empty results set...
* Observations and suggestions
I don't know if this is a common problem (to Org-Babel) or only to the Ledger
part of it, but I think *we* should somehow improve the handling of errors.
- Maybe displaying a =#+results-err= block which would be what's shown on
=/dev/stderr=, when not void?
- And having a way to display the error code would be a plus.
Best regards,
Seb
--
Sébastien Vauban
- [Orgmode] [Babel] Handling of errors when using Ledger,
Sébastien Vauban <=