Extreme error reporting capabilities update and bug fixes

This commit is contained in:
Jason Turner
2012-06-25 06:31:34 -06:00
parent 5a76d98692
commit a8ea5f151d
5 changed files with 373 additions and 50 deletions

View File

@@ -230,18 +230,7 @@ int main(int argc, char *argv[])
}
}
catch (const chaiscript::exception::eval_error &ee) {
std::cout << ee.what();
if (ee.call_stack.size() > 0) {
std::cout << "during evaluation at (" << *(ee.call_stack[0]->filename) << " " << ee.call_stack[0]->start.line << ", " << ee.call_stack[0]->start.column << ")";
for (size_t j = 1; j < ee.call_stack.size(); ++j) {
if (ee.call_stack[j]->identifier != chaiscript::AST_Node_Type::Block
&& ee.call_stack[j]->identifier != chaiscript::AST_Node_Type::File)
{
std::cout << std::endl;
std::cout << " from " << *(ee.call_stack[j]->filename) << " (" << ee.call_stack[j]->start.line << ", " << ee.call_stack[j]->start.column << ")";
}
}
}
std::cout << ee.pretty_print();
std::cout << std::endl;
return EXIT_FAILURE;
}