NullPointerException ao inserir registro no banco

Estou tentando adicionar um registro no banco de dados porém estou tendo o seguinte erro:
Exception in thread “main” java.lang.NullPointerException
at methods.DadosDAO.insert(DadosDAO.java:27)
at main.TestFiles.main(TestFiles.java:16)
O que posso fazer pra consertar isso?

método main:
public static void main(String[] args) {
DadosDAO dao = new DadosDAO();
dao.insert(new Dados (“teste”));
}

método inserir:

private Connection connection;

public DadosDAO(){
	connection = new Conexao().getConexao();
}


 try {
	String sql = "INSERT INTO \"TESTE\"(\"NOME\") VALUES (?)";
	PreparedStatement ps = connection.prepareStatement(sql);
	ps.setString(1, obj.getNome());
	ps.execute();
} catch (SQLException e) {
		throw new IllegalAccessError("erro, ao incluir o registro na base " + e.getMessage());
	}

Classe de conexão
public Connection getConexao(){
try {
DriverManager.getConnection(url, user, password);
return con;
} catch (SQLException e) {
throw new IllegalAccessError("Problemas ao se conectar ao banco de dados " + e.getMessage());
}
}

O que exatamente tem nessa linha?

O que existe nesta linha???

		PreparedStatement ps = connection.prepareStatement(sql);

Por alguma razão, o teu objeto connection está nulo.
Precisa instanciar o mesmo, antes de invocar qualquer coisa nele, como, por exemplo, o método prepareStatement.

public void insert(Dados obj) {
Conexao con = new Conexao();
try {
String sql = “INSERT INTO “TESTE”(“NOME”) VALUES (?)”;
PreparedStatement ps = con.getConexao().prepareStatement(sql);
ps.setString(1, obj.getNome());
ps.execute();
} catch (SQLException e) {
throw new IllegalAccessError("erro, ao incluir o registro na base " + e.getMessage());
}
}

Acabei de instanciar, e o erro continua para a linha 23

Provavelmente, o método acima retorne null…

Alterei meu metodo de conexao…
Eu estava retornando con, mas nao estava atribuindo nada a con
Obrigado pela ajuda e participação
public Connection getConexao(){
try {
con = DriverManager.getConnection(url, user, password);
return con;
} catch (SQLException e) {
throw new IllegalAccessError("Problemas ao se conectar ao banco de dados " + e.getMessage());
}
}