protected DemangledObject demangle(MangledContext mangledContext, MessageLog log) {

		DemangledObject demangled = null;
		try {
			demangled = doDemangle(mangledContext, log);
		}
		catch (Throwable e) {

			if (e instanceof DemangledException) {
				if (((DemangledException) e).isInvalidMangledName()) {
					//ignore invalid names, consider as not an error
					return null;
				}
			}

			log.appendMsg(getName(), "Unable to demangle symbol: " + mangledContext.getMangled() +
				" at " + mangledContext.getAddress() + ".  Message: " + e.getMessage());
			return null;
		}

		return demangled;
	}
This class's default demangle method.  This may be overridden to change how errors are
handled.

@param mangledContext the mangled context
@param log the error log
@return the demangled object; null if unsuccessful
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AbstractDemanglerAnalyzer.java