public SqlDataReader dtrGetDataReader(string strSQL)
        {
            string strConn = 
                ConfigurationManager.ConnectionStrings["PMSConnectionString"].ConnectionString.ToString();
            SqlConnection conn = new SqlConnection(strConn);
            SqlCommand cmd = new SqlCommand(strSQL, conn);
            try
            {
                conn.Open();
                SqlDataReader dtr = cmd.ExecuteReader(CommandBehavior.CloseConnection);            }
            catch
            {
                return null;          
            }
            finally
            {
                cmd.Dispose();
                conn.Close();            }
            return dtr;
        }主要是搞不清楚finally的作用,写在finally里面的内容会在什么时候处理?
上面这个函数一般都是什么写法啊,如果出的话,那么是执行完return null了就出函数了,还是继续执行finally?