[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60799: Bogus 'Error while printing exception' message when raising s
From: |
Ricardo Wurmus |
Subject: |
bug#60799: Bogus 'Error while printing exception' message when raising srfi-35 exception |
Date: |
Sat, 14 Jan 2023 08:25:29 +0100 |
User-agent: |
mu4e 1.8.13; emacs 28.2 |
Hi Maxim,
> When raising a srfi-35 defined exception type like in the following, a
> generic (and unhelpful) "Error while printing exception" message is
> shown, with not even the exception type mentioned:
>
> (use-modules (srfi srfi-35))
>
> (define-condition-type &platform-not-found-error &error
> platform-not-found-error?)
>
> (raise-exception &platform-not-found-error)
>
>
> Produces:
>
> Backtrace:
> In ice-9/boot-9.scm:
> 1752:10 5 (with-exception-handler _ _ #:unwind? _ # _)
> In unknown file:
> 4 (apply-smob/0 #<thunk 7f236157a2e0>)
> In ice-9/boot-9.scm:
> 724:2 3 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
> In ice-9/eval.scm:
> 619:8 2 (_ #(#(#<directory (guile-user) 7f2361580c80>)))
> In ice-9/boot-9.scm:
> 2836:4 1 (save-module-excursion _)
> 4388:12 0 (_)
>
> ice-9/boot-9.scm:4388:12: Error while printing exception.
>
> This is probably not by design, right?
Perhaps not, but conditions are expected to be raised with “raise”:
--8<---------------cut here---------------start------------->8---
(use-modules (srfi srfi-34) (srfi srfi-35))
(define-condition-type &platform-not-found-error &error
platform-not-found-error?)
(raise (condition (&platform-not-found-error)))
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
ERROR:
1. &platform-not-found-error
--8<---------------cut here---------------end--------------->8---
--
Ricardo