package coq-core
The Coq Proof Assistant -- Core Binaries and Tools
Install
Dune Dependency
Authors
Maintainers
Sources
coq-8.20.1.tar.gz
md5=0cfaa70f569be9494d24c829e6555d46
sha512=8ee967c636b67b22a4f34115871d8f9b9114df309afc9ddf5f61275251088c6e21f6cf745811df75554d30f4cebb6682f23eeb2e88b771330c4b60ce3f6bf5e2
doc/coq-core.clib/Exninfo/index.html
Module Exninfo
Source
Additional information worn by exceptions.
Information containing a given type.
All information
Get information worn by an exception. Returns None
if undefined.
get_backtrace info
does get the backtrace associated to info
backtrace_to_string info
does get the backtrace associated to info
Add the current backtrace information and other meta-data to the given exception.
The intended use case is to re-raise an exception while preserving the meta-data:
try foo
with
| Bar -> bar
| My_exn _ as exn ->
let (exn, info) = Exninfo.capture err in
...
let info = ... in
Exninfo.iraise (exn, info)
| exn when CErrors.noncritical exn ->
let iexn = Exninfo.capture err in
...
Exninfo.iraise iexn
where baz
should re-raise using iraise
below.
WARNING: any intermediate code between the with
and the handler may modify the backtrace. Yes, that includes when
clauses. Ideally, what you should do is something like:
try foo
with exn when CErrors.noncritical exn ->
let (err, info) = Exninfo.capture exn in
match err with
| exception Bar -> ...
| err -> ...
I admit that's a bit heavy, but there is not much to do...
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>