asteroid/cl-streamer/conditions.lisp

21 lines
840 B
Common Lisp

(in-package #:cl-streamer)
(define-condition streamer-error (error)
((message :initarg :message :reader streamer-error-message))
(:report (lambda (c stream)
(format stream "Streamer error: ~A" (streamer-error-message c)))))
(define-condition connection-error (streamer-error)
((client :initarg :client :reader connection-error-client))
(:report (lambda (c stream)
(format stream "Connection error for ~A: ~A"
(connection-error-client c)
(streamer-error-message c)))))
(define-condition encoding-error (streamer-error)
((format :initarg :format :reader encoding-error-format))
(:report (lambda (c stream)
(format stream "Encoding error (~A): ~A"
(encoding-error-format c)
(streamer-error-message c)))))