diff --git a/pkgs/racket-pkgs/racket-test/tests/racket/object.rktl b/pkgs/racket-pkgs/racket-test/tests/racket/object.rktl index e725dc8fc6..fd0fbc9548 100644 --- a/pkgs/racket-pkgs/racket-test/tests/racket/object.rktl +++ b/pkgs/racket-pkgs/racket-test/tests/racket/object.rktl @@ -1296,6 +1296,10 @@ (error-test #'(set-field! x 1 2)) (error-test #'(set-field! x (new object%) 2) exn:fail:object?) +(error-test #'(set-field! x (new object%) 2) + (λ (exn) (regexp-match? #rx"^set-field!" (exn-message exn)))) +(error-test #'(dynamic-set-field! 'x (new object%) 2) + (λ (exn) (regexp-match? #rx"^dynamic-set-field!" (exn-message exn)))) (error-test #'(set-field! x (new (class object% (define x 1) (super-new))) 2) exn:fail:object?) (error-test #'(let ([o (let () diff --git a/racket/collects/racket/private/class-internal.rkt b/racket/collects/racket/private/class-internal.rkt index cca6c5819a..6fbe3be6c1 100644 --- a/racket/collects/racket/private/class-internal.rkt +++ b/racket/collects/racket/private/class-internal.rkt @@ -3764,7 +3764,7 @@ An example (define (do-set-field! who id obj val) (unless (object? obj) - (raise-argument-error 'set-field! + (raise-argument-error who "object?" obj)) (let* ([cls (object-ref/unwrap obj)] @@ -3772,7 +3772,7 @@ An example [fi (hash-ref field-ht id #f)]) (if fi ((field-info-external-set! fi) obj val) - (obj-error 'get-field + (obj-error who "given object does not have the requested field" "field name" (as-write id) "object" obj))))