add more error info to error msg

This commit is contained in:
2025-07-05 23:17:49 +08:00
parent 5a23a3f33c
commit e317c487fb

View File

@@ -354,7 +354,7 @@ impl Script for ScnScript {
if !scene.is_object() { if !scene.is_object() {
return Err(anyhow::anyhow!("scene at {} is not an object", i)); return Err(anyhow::anyhow!("scene at {} is not an object", i));
} }
for text in scene["texts"].members_mut() { for (j, text) in scene["texts"].members_mut().enumerate() {
if text.is_list() { if text.is_list() {
if text.len() <= 1 { if text.len() <= 1 {
continue; // Skip if there are not enough values continue; // Skip if there are not enough values
@@ -372,7 +372,9 @@ impl Script for ScnScript {
let m = match cur_mes.take() { let m = match cur_mes.take() {
Some(m) => m, Some(m) => m,
None => { None => {
return Err(anyhow::anyhow!("No enough messages.")); return Err(anyhow::anyhow!(
"No enough messages. (text {j} at scene {i})"
));
} }
}; };
if has_name { if has_name {
@@ -385,7 +387,9 @@ impl Script for ScnScript {
} }
text[0].set_string(name); text[0].set_string(name);
} else { } else {
return Err(anyhow::anyhow!("Name is missing for message.")); return Err(anyhow::anyhow!(
"Name is missing for message. (text {j} at scene {i})"
));
} }
} }
let mut message = m.message.clone(); let mut message = m.message.clone();
@@ -410,7 +414,9 @@ impl Script for ScnScript {
let m = match cur_mes.take() { let m = match cur_mes.take() {
Some(m) => m, Some(m) => m,
None => { None => {
return Err(anyhow::anyhow!("No enough messages.")); return Err(anyhow::anyhow!(
"No enough messages. (text {j} at scene {i})"
));
} }
}; };
if has_name { if has_name {
@@ -428,7 +434,7 @@ impl Script for ScnScript {
} }
} else { } else {
return Err(anyhow::anyhow!( return Err(anyhow::anyhow!(
"Name is missing for message." "Name is missing for message. (text {j} at scene {i})"
)); ));
} }
} }
@@ -455,7 +461,9 @@ impl Script for ScnScript {
let m = match cur_mes.take() { let m = match cur_mes.take() {
Some(m) => m, Some(m) => m,
None => { None => {
return Err(anyhow::anyhow!("No enough messages.")); return Err(anyhow::anyhow!(
"No enough messages.(text {j} at scene {i})"
));
} }
}; };
if has_name { if has_name {
@@ -472,7 +480,9 @@ impl Script for ScnScript {
text[0].set_string(name); text[0].set_string(name);
} }
} else { } else {
return Err(anyhow::anyhow!("Name is missing for message.")); return Err(anyhow::anyhow!(
"Name is missing for message.(text {j} at scene {i})"
));
} }
} }
let mut message = m.message.clone(); let mut message = m.message.clone();
@@ -497,7 +507,9 @@ impl Script for ScnScript {
let m = match cur_mes.take() { let m = match cur_mes.take() {
Some(m) => m, Some(m) => m,
None => { None => {
return Err(anyhow::anyhow!("No enough messages.")); return Err(anyhow::anyhow!(
"No enough messages.(text {j} at scene {i})"
));
} }
}; };
if has_name { if has_name {
@@ -515,7 +527,7 @@ impl Script for ScnScript {
} }
} else { } else {
return Err(anyhow::anyhow!( return Err(anyhow::anyhow!(
"Name is missing for message." "Name is missing for message.(text {j} at scene {i})"
)); ));
} }
} }