ConnectionFactory

Olá boa noite,

Estou com uma dúvida referente a um fato que ocorreu enquanto eu estava estudando JDBC mais precisamente sobre a classe ConnectionFactory.
Gostaria de saber Por que ao tentar criar uma referencia do tipo Connection dentro do try ele da um erro no retorno, e se eu coloco ele por fora do
try funciona normalmente ?

EX:

import java.sql.*;

public class ConnectionFactory {
 public static Connection createConection(){
		
		//Caso eu o implemente aqui fora ele funciona de boa...

		Connection minhaConexao = null;
		
		try{
			//  Já aqui dentro, ele da um erro no tipo de retorno lá embaixo...

                       //  Connection minhaConexao = null;

			minhaConexao = DriverManager.getConnection("jdbc:mysql://localhost/livraria","root","12345678");
			
		}catch (Exception e) {
			
			System.out.println("Erro"+e.getMessage());
		}

		return minhaConexao;
         }
}

A duvida surgiu por que antes da classe ConnectionFactory, eu havia praticado a conexão usando a classe
DriverManager dentro do try e funcionou normal. Agradeço desde já pela ajuda.

EX:


import java.sql.*;

public class ListaEditora {

	public static void main(String[] args) {
		
		try{
			// Aqui funciona normalmente

			Connection con = DriverManager.getConnection("jdbc:mysql://localhost/livraria","root","12345678");
			
		/*
                   Aqui seria a implementação do resto do código
                */


		}catch (Exception e) {
			System.out.println("Erro"+e.getMessage());
		}
		
	}

}

Você leu a mensagem de erro? Provavelmente seria…

ConnectionFactory.java:22: error: cannot find symbol return minhaConexao; ^ symbol: variable minhaConexao location: class ConnectionFactory 1 error
Como a variável minhaConexao foi declarada dentro do bloco try, ela não está disponível fora dele. Tem a ver com o Escopo das variáveis.