1
This commit is contained in:
41
server-rs/crates/module-visual-novel/src/errors.rs
Normal file
41
server-rs/crates/module-visual-novel/src/errors.rs
Normal file
@@ -0,0 +1,41 @@
|
||||
use std::{error::Error, fmt};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum VisualNovelDomainError {
|
||||
MissingProfileId,
|
||||
MissingRunId,
|
||||
MissingOwnerUserId,
|
||||
MissingClientEventId,
|
||||
MissingActionText,
|
||||
InvalidChoiceId,
|
||||
FreeTextDisabled,
|
||||
HistoryRegenerationDisabled,
|
||||
HistoryEntryNotFound,
|
||||
InvalidHistorySource,
|
||||
InvalidRuntimeStep,
|
||||
InvalidJson,
|
||||
EmptyRuntimeSteps,
|
||||
}
|
||||
|
||||
impl fmt::Display for VisualNovelDomainError {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
let message = match self {
|
||||
Self::MissingProfileId => "visual novel profile_id 缺失",
|
||||
Self::MissingRunId => "visual novel run_id 缺失",
|
||||
Self::MissingOwnerUserId => "visual novel owner_user_id 缺失",
|
||||
Self::MissingClientEventId => "visual novel client_event_id 缺失",
|
||||
Self::MissingActionText => "visual novel 行动文本缺失",
|
||||
Self::InvalidChoiceId => "visual novel choice_id 不合法",
|
||||
Self::FreeTextDisabled => "visual novel 当前作品未开启自由行动",
|
||||
Self::HistoryRegenerationDisabled => "visual novel 当前作品未开启历史重生成",
|
||||
Self::HistoryEntryNotFound => "visual novel history entry 不存在",
|
||||
Self::InvalidHistorySource => "visual novel 只能从助手历史节点重生成",
|
||||
Self::InvalidRuntimeStep => "visual novel runtime step 不合法",
|
||||
Self::InvalidJson => "visual novel JSON 解析失败",
|
||||
Self::EmptyRuntimeSteps => "visual novel runtime step 不能为空",
|
||||
};
|
||||
write!(f, "{message}")
|
||||
}
|
||||
}
|
||||
|
||||
impl Error for VisualNovelDomainError {}
|
||||
Reference in New Issue
Block a user