pub enum RecordingError {
Init {
path: PathBuf,
source: Error,
},
OpenFile {
path: PathBuf,
source: Error,
},
Spawn {
source: Error,
},
WriterGone,
FlushTimeout,
Write(String),
}Expand description
录制器初始化/刷盘错误(A9/N4:把原本静默/panic 的失败显式暴露为 Result)。
注意:Recorder::flush 仍返回 () 以兼容 FFI/绑定/既有测试调用点
(rec.flush());需要观测写失败时改用 Recorder::try_flush。
Variants§
Init
create_dir_all 失败(try_new)。
OpenFile
打开 jsonl 文件失败(try_new)。
Spawn
派生 writer 线程失败(try_new,替代原 .expect panic)。
WriterGone
writer 线程已退出(通道断),flush 无法送达。
FlushTimeout
flush 在 30s 内未收到 writer 回执。
Write(String)
writer 写行 / flush 失败(首个错误,粘性)。此前磁盘满等 I/O 失败被
静默丢弃且 try_flush 仍返回 Ok,违反“flush 阻塞至落盘“契约。
Trait Implementations§
Source§impl Debug for RecordingError
impl Debug for RecordingError
Source§impl Display for RecordingError
impl Display for RecordingError
Source§impl Error for RecordingError
impl Error for RecordingError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for RecordingError
impl !UnwindSafe for RecordingError
impl Freeze for RecordingError
impl Send for RecordingError
impl Sync for RecordingError
impl Unpin for RecordingError
impl UnsafeUnpin for RecordingError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more