clearing call stack when exception is thrown

This commit is contained in:
VaclavT 2021-04-19 21:15:51 +02:00
parent 02c3a20936
commit a27bcda59b
1 changed files with 2 additions and 0 deletions

2
ml.cpp
View File

@ -1780,6 +1780,7 @@ void repl(MlEnvironment &env) {
code += input + "\n"; code += input + "\n";
} catch (MlError &e) { } catch (MlError &e) {
std::cerr << e.description() << std::endl; std::cerr << e.description() << std::endl;
MlPerfMon::instance().clear_callstack();
} catch (std::runtime_error &e) { } catch (std::runtime_error &e) {
std::cerr << e.what() << std::endl; std::cerr << e.what() << std::endl;
} }
@ -1999,6 +2000,7 @@ int main(int argc, char *argv[]) {
std::cerr << e.description() << std::endl; std::cerr << e.description() << std::endl;
} catch (std::runtime_error &e) { } catch (std::runtime_error &e) {
std::cerr << MlPerfMon::instance().callstack() << e.what() << std::endl; std::cerr << MlPerfMon::instance().callstack() << e.what() << std::endl;
MlPerfMon::instance().clear_callstack();
} }
return 1; return 1;