function Exception(msg){
	if(msg){this.message = msg;} else {this.message = ""}
}

function CableNotDetectedException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-no-cable')}}; CableNotDetectedException.prototype = new Exception();
function DeviceNotDetectedException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-no-device')}}; DeviceNotDetectedException.prototype = new Exception();
function BladeNotDetectedException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-no-blade')}}; DeviceNotDetectedException.prototype = new Exception();
function DetectionErrorException(msg){if(msg){this.message = msg;} else {this.message = _getText("weblink-detection-error")}}; DetectionErrorException.prototype = new Exception();
function PluginTimeOutException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-plugin-timeout')}}; PluginTimeOutException.prototype = new Exception();

function InvalidPluginException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-invalid-plugin')}}; InvalidPluginException.prototype = new Exception();
function ActiveXNotSupportedException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-activex-not-supported')}}; ActiveXNotSupportedException.prototype = new Exception();
function Weblink5NotFoundException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-weblink5-not-found')}}; Weblink5NotFoundException.prototype = new Exception();
function WeblinkNotRespondingException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-not-responding')}}; WeblinkNotRespondingException.prototype = new Exception();
function WeblinkNotDetectedException(msg){if(msg){this.message = msg;} else {this.message = _getText('weblink-not-detected');}}; WeblinkNotDetectedException.prototype = new Exception();

function InvalidDeviceException(msg){if(msg){this.message = msg;} else {this.message = "";}}; InvalidDeviceException.prototype = new Exception();
function InvalidFirmwareException(msg){if(msg){this.message = msg;} else {this.message = "";}}; InvalidFirmwareException.prototype = new Exception();
function InvalidConfigurationException(msg){ this.message = msg;}; InvalidConfigurationException.prototype = new Exception();

function FlashException(msg){if(msg){this.message = msg;} else {this.message = "";}}; FlashException.prototype = new Exception();
function WriteConfException(msg){if(msg){this.message = msg;} else {this.message = "";}}; WriteConfException.prototype = new Exception();
function ReadException(msg){ this.message = msg;}; ReadException.prototype = new Exception();

function InvalidCTRException(msg){if(msg){this.message = msg;} else {this.message = _getText("InvalidCTRException");}}; InvalidCTRException.prototype = new Exception();
function FailedToLoadOSException(msg){if(msg){this.message = msg;} else {this.message = _getText("FailedToLoadOSException");}}; FailedToLoadOSException.prototype = new Exception();
function MACFailedException(msg){if(msg){this.message = msg;} else {this.message = _getText("MACFailedException");}}; MACFailedException.prototype = new Exception();
function InvalidBlockSizeException(msg){if(msg){this.message = msg;} else {this.message = _getText("InvalidBlockSizeException");}}; InvalidBlockSizeException.prototype = new Exception();
function UnlockFailedException(msg){if(msg){this.message = msg;} else {this.message = _getText("UnlockFailedException");}}; UnlockFailedException.prototype = new Exception();
function FailedToReadFeatureException(msg){if(msg){this.message = msg;} else {this.message = _getText("FailedToReadFeatureException");}}; FailedToReadFeatureException.prototype = new Exception();
function FailedToWriteFeatureException(msg){if(msg){this.message = msg;} else {this.message = _getText("FailedToWriteFeatureException");}}; FailedToWriteFeatureException.prototype = new Exception();
function FailedToReadKeyException(msg){if(msg){this.message = msg;} else {this.message = _getText("FailedToReadKeyException");}}; FailedToReadKeyException.prototype = new Exception();
function FailedToWriteKeyException(msg){if(msg){this.message = msg;} else {this.message = _getText("FailedToWriteKeyException");}}; FailedToWriteKeyException.prototype = new Exception();
function FailedToReadStarterFeatureException(msg){if(msg){this.message = msg;} else {this.message = _getText("FailedToReadStarterFeatureException");}}; FailedToReadStarterFeatureException.prototype = new Exception();
function FailedToWriteStarterFeatureException(msg){if(msg){this.message = msg;} else {this.message = _getText("FailedToWriteStarterFeatureException");}}; FailedToWriteStarterFeatureException.prototype = new Exception();


