自分でC#でListやT[]をXmlシリアライズ・デシリアライズする拡張メソッドを書いたのですが、例外処理はどうすればいいのか(使う側で定義するのか使われる側で定義するのか等)と、あと書き方について指摘を頂きたいです。よろしくお願いします。

   ///<summary> Xmlをジェネリックな配列に読み込むメソッド </summary> 
    public static void LoadXml<T>(this T[] list, string path)
    {
        T[] xmldata = null;

        XmlDocument xdoc = new System.Xml.XmlDocument();
        XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(T[]));

        xdoc.PreserveWhitespace = true;
        xdoc.Load(path);

        XmlNodeReader xnr = new System.Xml.XmlNodeReader(xdoc.DocumentElement);

        xmldata = (T[])xml.Deserialize(xnr);

        for (int i = 0; i < xmldata.Length; i++)
            list[i] = xmldata[i];
    }

    ///<summary> XmlをList<T>に読み込むメソッド </summary>
    public static void LoadXml<T>(this List<T> list, string path)
    {
        list.Clear();

        T[] xmldata = null;

        XmlDocument xdoc = new System.Xml.XmlDocument();
        XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(T[]));

        xdoc.PreserveWhitespace = true;
        xdoc.Load(path);

        XmlNodeReader xnr = new System.Xml.XmlNodeReader(xdoc.DocumentElement);

        xmldata = (T[])xml.Deserialize(xnr);

        for (int i = 0; i < xmldata.Length; i++)
            list.Add(xmldata[i]);
    }

    /// <summary> ジェネリックな配列をXmlにセーブするメソッド </summary>
    public static void SaveXml<T>(this T[] list, string path)
    {
        T[] xmldata = null;
        xmldata = list.ToArray();

        using (FileStream fs = new FileStream(path, FileMode.Create))
        {
            XmlSerializer xml = new XmlSerializer(typeof(T[]));

            xml.Serialize(fs, xmldata);
        }
    }

    /// <summary> List<T>オブジェクトをXmlにセーブするメソッド </summary>
    public static void SaveXml<T>(this List<T> list, string path)
    {
        T[] xmldata = null;
        xmldata = list.ToArray();

        using (FileStream fs = new FileStream(path, FileMode.Create))
        {
            XmlSerializer xml = new XmlSerializer(typeof(T[]));

            xml.Serialize(fs, xmldata);
        }
    }
}