#include "Exception.h"
-Exception::Exception(int _id) {
+Exception::Exception(int _id, void *_source) {
id = _id;
message = getDefaultMessage();
+ source = _source;
}
Exception::Exception(const Exception& other) {
id = other.id;
message = other.message;
+ source = other.source;
}
QString Exception::getDefaultMessage() {
case IMPLFILE_NOPATTERN : ret = tr("Implementation file does not contains pattern definitions"); break;
case BLOCK_NULL : ret = tr("A parameter of type AbstractBlock* has been provided with NULL value."); break;
case BLOCK_INVALID_TYPE : ret = tr("A parameter of type AbstractBlock* is used with an incorrect instance type."); break;
+ case VHDLFILE_NOACCESS : ret = tr("VHDL file cannot be read"); break;
+ case VHDLFILE_CORRUPTED : ret = tr("VHDL file is corrupted"); break;
case IFACE_NULL : ret = tr("A parameter of type AbstractInterface* has been provided with NULL value."); break;
case IFACE_INVALID_TYPE : ret = tr("A parameter of type AbstractInterface* is used with an incorrect instance type."); break;
case IFACE_MULTIPLICITY_REACHED : ret = tr("Impossible to create another instance of a GraphInterface: the maximum multiplicity is reached."); break;
case IP_AP_NOTCOMPAT : ret = tr("IP and AP not compatible"); break;
case IP_END_NULLCOL : ret = tr("IP ends with anull column (normally not possible during compat. check)"); break;
case AP_TOO_SHORT : ret = tr("AP has been badly computed, leading to a AP shorter than needed (NB: it is an abnormal case)"); break;
+ case IFACE_NOT_CONNECTED : ret = tr("an interface with control is not coonected, leading to an impossible graph analysis"); break;
}
return ret;