13 #include <QStringList>
15 #include "ScriptValue.h"
29 ScriptException(QString message =
"", QString info =
"",
int line = 0,
int column = 0, QStringList backtraceList = QStringList()) :
79 virtual std::shared_ptr<ScriptException>
clone()
const {
80 return std::make_shared<ScriptException>(*
this);
95 ScriptEngineException(QString message =
"", QString info =
"",
int line = 0,
int column = 0, QStringList backtraceList = QStringList()) :
110 virtual std::shared_ptr<ScriptException>
clone()
const override {
111 return std::make_shared<ScriptEngineException>(*
this);
126 ScriptRuntimeException(QString message =
"", QString info =
"",
int line = 0,
int column = 0, QStringList backtraceList = QStringList()) :
149 virtual std::shared_ptr<ScriptException>
clone()
const override {
150 return std::make_shared<ScriptRuntimeException>(*
this);
155 debug <<
"Exception:"
157 << (e.
additionalInfo.isEmpty() ? QString(
"") :
"[" + e.additionalInfo +
"]")
158 <<
" at line " << e.errorLine <<
", column " << e.errorColumn;
161 debug <<
"Backtrace:";
169 inline QDebug operator<<(QDebug debug, std::shared_ptr<ScriptException> e) {
171 debug <<
"[Null ScriptException]";
183 Q_DECLARE_METATYPE(std::shared_ptr<ScriptException>)
184 Q_DECLARE_METATYPE(std::shared_ptr<ScriptEngineException>)
185 Q_DECLARE_METATYPE(std::shared_ptr<ScriptRuntimeException>)
Exception that ocurred inside the scripting engine on the c++ side.
Definition: ScriptException.h:92
virtual std::shared_ptr< ScriptException > clone() const override
Clones this object.
Definition: ScriptException.h:110
Scripting exception.
Definition: ScriptException.h:26
int errorColumn
Error column.
Definition: ScriptException.h:60
int errorLine
Error line.
Definition: ScriptException.h:54
QString errorMessage
Error message.
Definition: ScriptException.h:38
QStringList backtrace
Backtrace.
Definition: ScriptException.h:66
QString additionalInfo
Additional information about the exception.
Definition: ScriptException.h:47
virtual std::shared_ptr< ScriptException > clone() const
Clones this object.
Definition: ScriptException.h:79
Exception that ocurred inside the running script.
Definition: ScriptException.h:123
ScriptValue thrownValue
The actual value that was thrown by the script.
Definition: ScriptException.h:138
virtual std::shared_ptr< ScriptException > clone() const override
Clones this object.
Definition: ScriptException.h:149
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40