Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/11/09 13:35:32 (15 years ago)
Author:
epitzer
Message:

Better type name parser. Replace reflection based type name generation, better exceptions during deserialization. (#613)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Persistence/3.3/Core/DeSerializer.cs

    r1703 r1779  
    7474          try {
    7575            type = Type.GetType(typeMapping.TypeName, true);
    76           } catch (Exception e) {
     76          } catch (Exception) {
    7777            Logger.Error(String.Format(
    7878              "Cannot load type \"{0}\", falling back to loading with partial name", typeMapping.TypeName));
    7979            string[] typeNameParts = typeMapping.TypeName.Split(new[] { ',' });
    80             Assembly a = Assembly.LoadWithPartialName(typeNameParts[typeNameParts.Length - 1].Trim());
    81             Array.Resize(ref typeNameParts, typeNameParts.Length - 1);
    82             type = a.GetType(string.Join(",", typeNameParts), true);
     80            try {
     81              Assembly a = Assembly.LoadWithPartialName(typeNameParts[typeNameParts.Length - 1].Trim());
     82              Array.Resize(ref typeNameParts, typeNameParts.Length - 1);
     83              type = a.GetType(string.Join(",", typeNameParts), true);
     84            } catch (Exception) {
     85              throw new PersistenceException(String.Format(
     86                "Could not load type \"{0}\"",
     87                typeMapping.TypeName));
     88            }
    8389          }
    8490          typeIds.Add(typeMapping.Id, type);
     
    8793        }
    8894        return map;
     95      } catch (PersistenceException) {
     96        throw;
    8997      } catch (Exception e) {
    9098        throw new PersistenceException(
Note: See TracChangeset for help on using the changeset viewer.