move error-dialog code to utils

svn: r2802
This commit is contained in:
Matthew Flatt 2006-04-26 15:28:00 +00:00
parent e0dcc108d7
commit a65c9de446
5 changed files with 32 additions and 30 deletions

View File

@ -15,7 +15,7 @@
(require (lib "hierlist-sig.ss" "hierlist"))
(require (lib "openssl.ss" "openssl"))
(require (lib "mzssl.ss" "openssl"))
(provide folder@)
(define folder@

View File

@ -73,29 +73,15 @@
(define got-started? #f)
(define (show-error x)
(let ([sp (open-output-string)])
;; use error display handler in case
;; errortrace (or something else) is
;; installed
(parameterize ([current-output-port sp]
[current-error-port sp])
((error-display-handler)
(if (exn? x)
(exn-message x)
(format "uncaught exn: ~s" x))
x))
(message-box "Error"
(get-output-string sp)
main-frame
'(ok stop))
(when (not got-started?)
(when (eq? 'yes (confirm-box "Startup Error"
(string-append
"Looks like you didn't even get started. "
"Set preferences (so you're ready to try again)?")
#f
'(app)))
(show-pref-dialog)))))
(show-error-message-box x main-frame)
(when (not got-started?)
(when (eq? 'yes (confirm-box "Startup Error"
(string-append
"Looks like you didn't even get started. "
"Set preferences (so you're ready to try again)?")
#f
'(app)))
(show-pref-dialog))))
(initial-exception-handler
(lambda (x)

View File

@ -49,12 +49,7 @@
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define (show-error x main-frame)
(message-box "Error"
(if (exn? x)
(exn-message x)
(format "Strange exception: ~s" x))
main-frame
'(ok stop)))
(show-error-message-box x main-frame))
(define FRAME-WIDTH 560)
(define FRAME-HEIGHT 600)

View File

@ -31,6 +31,8 @@
find
string->regexp
show-error-message-box
as-background
make-fixed-width

View File

@ -96,6 +96,25 @@
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define (show-error-message-box x main-frame)
(let ([sp (open-output-string)])
;; use error display handler in case
;; errortrace (or something else) is
;; installed
(parameterize ([current-output-port sp]
[current-error-port sp])
((error-display-handler)
(if (exn? x)
(exn-message x)
(format "uncaught exn: ~s" x))
x))
(message-box "Error"
(get-output-string sp)
main-frame
'(ok stop))))
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define (break-really-hard? set-d!)
(let* ([d (make-object dialog% "Danger")]
[p (make-object vertical-pane% d)]