def d_index_no_except(seq, obj, i=None, j=None):
	"""
	Provides a no-exception wrapper for indexing sequence types. With
	the exception of the first parameter, the interface for the sequence
	`index` function is equivalent.

	:param seq
		The sequence object to index.

	:param obj
		The object whose index to retrieve.
	
	:param i
		The inclusive starting index of the search.
	
	:param j
		The exclusive ending index of the search.
	"""
	try:
		if i is not None:
			if j is not None:
				return seq.index(obj, i=i, j=j)
			else:
				return seq.index(obj, i=i)
		else:
			return seq.index(obj)
	except ValueError:
		return -1