public static void handleArchiveFileException(DataTypeManagerPlugin plugin,
			ResourceFile archiveFile, Throwable t) {
		if (t instanceof FileNotFoundException) {
			Msg.showError(plugin, plugin.getProvider().getComponent(), "File Not Found",
				archiveFile.getAbsolutePath() + " not found!");
		}
		else if (t instanceof IOException) {
			Throwable cause = t.getCause();
			if (cause instanceof VersionException) {
				VersionExceptionHandler.showVersionError(null, archiveFile.getName(), "Archive",
					"open", (VersionException) cause);
			}
			else {
				Msg.showError(plugin, plugin.getProvider().getComponent(), "Open Archive Failed",
					t.getMessage() + ": " + archiveFile.getName());
			}
		}
		else if (t instanceof DuplicateIdException) {
			DuplicateIdException dupIdExc = (DuplicateIdException) t;
			Msg.showError(plugin, plugin.getProvider().getComponent(), "Duplicate Archive ID Error",
				"Attempted to open a datatype archive with the same ID as datatype archive that is " +
					"already open. " + dupIdExc.getNewArchiveName() + " has same id as " +
					dupIdExc.getExistingArchiveName());
		}
		else {
			Msg.showError(plugin, plugin.getProvider().getComponent(), "Open Archive Failed",
				"Unexpected exception opening archive: " + archiveFile.getName(), t);
		}
	}
Provides an exception handler for a failed attempt to open an datatype archive file.
This method will display exception information to the user and/or log.
@param plugin datatype manager plugin
@param archiveFile archive file resource being opened
@param t throwable
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/archive/DataTypeManagerHandler.java