void ClientException::init() { #ifdef USEBACKTRACE if (m_backTraceConstr.length()==0) { m_backTraceConstr = getBackTrace(); m->message=m_backTraceConstr; } #else m_backTraceConstr=""; #endif }
std::pair<String, int> ExtendedException::getFileAndLine() const { String file = empty_string(); int line = 0; if (RuntimeOption::InjectedStackTrace) { Array bt = getBackTrace(); if (!bt.empty()) { Array top = bt.rvalAt(0).toArray(); if (top.exists(s_file)) file = top.rvalAt(s_file).toString(); if (top.exists(s_line)) line = top.rvalAt(s_line).toInt64(); } } return std::make_pair(file, line); }