NS_IMETHODIMP nsDOMExceptionProvider::GetException(nsresult result, nsIException *aDefaultException, nsIException **_retval) { if (!NS_IsMainThread()) { return NS_ERROR_NOT_IMPLEMENTED; } switch (NS_ERROR_GET_MODULE(result)) { case NS_ERROR_MODULE_SVG: return NS_NewSVGException(result, aDefaultException, _retval); case NS_ERROR_MODULE_DOM_XPATH: return NS_NewXPathException(result, aDefaultException, _retval); case NS_ERROR_MODULE_XPCONNECT: return CreateXPConnectException(result, aDefaultException, _retval); case NS_ERROR_MODULE_DOM_FILE: return NS_NewFileException(result, aDefaultException, _retval); case NS_ERROR_MODULE_DOM_INDEXEDDB: return NS_NewIDBDatabaseException(result, aDefaultException, _retval); default: return NS_NewDOMException(result, aDefaultException, _retval); } NS_NOTREACHED("Not reached"); return NS_ERROR_UNEXPECTED; }
NS_IMETHODIMP nsDOMExceptionProvider::GetException(nsresult result, nsIException *aDefaultException, nsIException **_retval) { if (!NS_IsMainThread()) { return NS_ERROR_NOT_IMPLEMENTED; } switch (NS_ERROR_GET_MODULE(result)) { case NS_ERROR_MODULE_SVG: return NS_NewSVGException(result, aDefaultException, _retval); case NS_ERROR_MODULE_DOM_XPATH: return NS_NewXPathException(result, aDefaultException, _retval); case NS_ERROR_MODULE_XPCONNECT: return CreateXPConnectException(result, aDefaultException, _retval); default: MOZ_ASSERT(NS_ERROR_GET_MODULE(result) == NS_ERROR_MODULE_DOM || NS_ERROR_GET_MODULE(result) == NS_ERROR_MODULE_DOM_FILE || NS_ERROR_GET_MODULE(result) == NS_ERROR_MODULE_DOM_INDEXEDDB, "Trying to create an exception for the wrong error module."); return NS_NewDOMException(result, aDefaultException, _retval); } NS_NOTREACHED("Not reached"); return NS_ERROR_UNEXPECTED; }