Static initializer gaurds

This commit is contained in:
Justin Aquadro 2012-10-04 22:26:57 -04:00
parent ef6102b0f4
commit 4949a35a84
3 changed files with 46 additions and 24 deletions

View file

@ -22,18 +22,23 @@ namespace NBTExplorer
static MainForm ()
{
_tagIconIndex = new Dictionary<TagType, int>();
_tagIconIndex[TagType.TAG_BYTE] = 0;
_tagIconIndex[TagType.TAG_SHORT] = 1;
_tagIconIndex[TagType.TAG_INT] = 2;
_tagIconIndex[TagType.TAG_LONG] = 3;
_tagIconIndex[TagType.TAG_FLOAT] = 4;
_tagIconIndex[TagType.TAG_DOUBLE] = 5;
_tagIconIndex[TagType.TAG_BYTE_ARRAY] = 6;
_tagIconIndex[TagType.TAG_STRING] = 7;
_tagIconIndex[TagType.TAG_LIST] = 8;
_tagIconIndex[TagType.TAG_COMPOUND] = 9;
_tagIconIndex[TagType.TAG_INT_ARRAY] = 14;
try {
_tagIconIndex = new Dictionary<TagType, int>();
_tagIconIndex[TagType.TAG_BYTE] = 0;
_tagIconIndex[TagType.TAG_SHORT] = 1;
_tagIconIndex[TagType.TAG_INT] = 2;
_tagIconIndex[TagType.TAG_LONG] = 3;
_tagIconIndex[TagType.TAG_FLOAT] = 4;
_tagIconIndex[TagType.TAG_DOUBLE] = 5;
_tagIconIndex[TagType.TAG_BYTE_ARRAY] = 6;
_tagIconIndex[TagType.TAG_STRING] = 7;
_tagIconIndex[TagType.TAG_LIST] = 8;
_tagIconIndex[TagType.TAG_COMPOUND] = 9;
_tagIconIndex[TagType.TAG_INT_ARRAY] = 14;
}
catch (Exception e) {
Program.StaticInitFailure(e);
}
}
public MainForm ()

View file

@ -45,20 +45,25 @@ namespace NBTExplorer.Model
static FileTypeRegistry ()
{
Register<NbtFileDataNode>(new FileTypeRecord() {
NamePatternTest = NbtFileDataNode.SupportedNamePattern,
NodeCreate = NbtFileDataNode.TryCreateFrom,
});
try {
Register<NbtFileDataNode>(new FileTypeRecord() {
NamePatternTest = NbtFileDataNode.SupportedNamePattern,
NodeCreate = NbtFileDataNode.TryCreateFrom,
});
Register<RegionFileDataNode>(new FileTypeRecord() {
NamePatternTest = RegionFileDataNode.SupportedNamePattern,
NodeCreate = RegionFileDataNode.TryCreateFrom,
});
Register<RegionFileDataNode>(new FileTypeRecord() {
NamePatternTest = RegionFileDataNode.SupportedNamePattern,
NodeCreate = RegionFileDataNode.TryCreateFrom,
});
Register<CubicRegionDataNode>(new FileTypeRecord() {
NamePatternTest = CubicRegionDataNode.SupportedNamePattern,
NodeCreate = CubicRegionDataNode.TryCreateFrom,
});
Register<CubicRegionDataNode>(new FileTypeRecord() {
NamePatternTest = CubicRegionDataNode.SupportedNamePattern,
NodeCreate = CubicRegionDataNode.TryCreateFrom,
});
}
catch (Exception e) {
Program.StaticInitFailure(e);
}
}
}
}

View file

@ -16,5 +16,17 @@ namespace NBTExplorer
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
public static void StaticInitFailure (Exception e)
{
Console.WriteLine("Static Initialization Failure:");
while (e != null) {
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
e = e.InnerException;
}
Application.Exit();
}
}
}