public static String getExcString(Exception e) {
		if (e instanceof ArrayIndexOutOfBoundsException) {
			//Sets dialogue
			String dialogue = "An error has occured; an array has been referenced at the index " + e.getMessage() + ", which does not" +
					" exist.";
			//Specific dialogue for negative indexes
			if (Integer.parseInt(e.getMessage()) < 0) {
				dialogue = "An error has occured; an array has been referenced at the negative index, " + e.getMessage() + ". Arrays in"
					+ " Java can't have negative indexes.";
			}
			return dialogue
				+ "\n\nType: " + e.getClass().getName()
				+ "\nStack Trace: " + e.getStackTrace();
		
		} else if (e instanceof NullPointerException) {
			return "An error has occured; An object has likely been called before initialization."
					+ "\n\nType: " + e.getClass().getName()
					+ "\nStack Trace: " + e.getStackTrace();
			
		//Default output
		} else {
			String output = "An error has occured."
						+ "\n\nType: " + e.getClass().getName();
			if (e.getCause() != null)
				output += "\nCause: " + e.getCause();
			if (e.getMessage() != null)
				output += "\nMessage: " + e.getMessage();
			if (e.getLocalizedMessage() != null && e.getLocalizedMessage() != e.getMessage())
				output += "\nLocalized Message: " + e.getLocalizedMessage();
			if (getSuppressedString(e) != null) {
				output += "\nSupressed: " + getSuppressedString(e);
			}
			
			output += "\nStack Trace: " + e.getStackTrace();
			
			return output;
		}
	}