Não entra na Exceção do Try Catch

O codigo entra no Try, mas não entra no Catch. Alguem sabe o porque?

protected Anotacao cheques(final Collection<String> linhas){
	return cheques(linhas, "B360", 0);
}
protected Anotacao cheques(final Collection<String> linhas, final String registro, final Integer posicao) {
	Anotacao pendencia = new AnotacaoCheque(null, null, null, null);
	try {
		Collection<String> arrayLinhas = new ArrayList<String>();
		for (String cadaLinha : linhas)	{
			if(cadaLinha.startsWith("B360")){
				arrayLinhas.add(cadaLinha);
				final String stringValor = cadaLinha.substring(27, 27 + 9).trim();
				final String stringEmpresa = cadaLinha.substring(36, 36 + 30).trim();
				final String stringQuantidade = cadaLinha.substring(20, 20 + 4).trim();
				final BigDecimal valor = new BigDecimal(stringValor);
				final String empresa = new String(stringEmpresa);
				final BigDecimal quantidade = new BigDecimal(stringQuantidade);
				pendencia = new AnotacaoCheque(CONSTA, valor, empresa, quantidade);
				logger.info("Consta CHEQUE SEM FUNDO no valor de {}. Banco: {}. Totalizando {} ocorrencia(s) até hoje", valor, empresa, quantidade);
			}
		}
	} catch (final NoSuchElementException e) {
		logger.info("Não Consta Cheque Sem Fundo {}", documento);
		final BigDecimal valor = new BigDecimal("0");
		final String empresa = new String ("Não Consta");
		final BigDecimal quantidade = new BigDecimal("0");
		pendencia = new AnotacaoCheque(NADA_CONSTA, valor, empresa, quantidade);
	}
	return pendencia;
}

É que o código dentro do try não está lançando nenhuma NoSuchElementException.

Como eu faço para lançar uma exceção caso ele nao achar aquele trecho da string?

Não me parece o caso de lançar exceção, creio que é só verificar assim:

protected Anotacao cheques(final Collection<String> linhas, final String registro, final Integer posicao) {
	Anotacao pendencia = null;
	for (String cadaLinha : linhas)	{
		if (cadaLinha.startsWith("B360")) {
			final String stringValor = cadaLinha.substring(27, 27 + 9).trim();
			final String stringEmpresa = cadaLinha.substring(36, 36 + 30).trim();
			final String stringQuantidade = cadaLinha.substring(20, 20 + 4).trim();
			final BigDecimal valor = new BigDecimal(stringValor);
			final String empresa = new String(stringEmpresa);
			final BigDecimal quantidade = new BigDecimal(stringQuantidade);
			pendencia = new AnotacaoCheque(CONSTA, valor, empresa, quantidade);
			logger.info("Consta CHEQUE SEM FUNDO no valor de {}. Banco: {}. Totalizando {} ocorrencia(s) até hoje", valor, empresa, quantidade);
		}
	}
	if (pendencia == null) {
		logger.info("Não Consta Cheque Sem Fundo {}", documento);
		final BigDecimal valor = new BigDecimal("0");
		final String empresa = new String ("Não Consta");
		final BigDecimal quantidade = new BigDecimal("0");
		pendencia = new AnotacaoCheque(NADA_CONSTA, valor, empresa, quantidade);
	}
	return pendencia;
}