diff --git a/web/gts/Default.aspx.cs b/web/gts/Default.aspx.cs
index 3bfca14f..8abbad4f 100644
--- a/web/gts/Default.aspx.cs
+++ b/web/gts/Default.aspx.cs
@@ -52,45 +52,88 @@ namespace PkmnFoundations.GTS
protected String CreateOffer4(object DataItem)
{
GtsRecord4 record = (GtsRecord4)DataItem;
- Pokemon4 pokemon = new Pokemon4(m_pokedex, record.Data);
-
+ Pokemon4 pokemon = null;
StringBuilder builder = new StringBuilder();
+
try
{
- builder.Append(String.Format("{0} (#{1})", pokemon.Species.Name, pokemon.SpeciesID));
+ pokemon = new Pokemon4(m_pokedex, record.Data);
}
- catch (KeyNotFoundException)
+ catch
{
- builder.Append(String.Format("??? (#{0})", pokemon.SpeciesID));
+ builder.Append("Failure to parse pokemon data.
");
}
- builder.Append("
");
- if (pokemon.FormID != 0)
+
+ try
{
try
{
- builder.Append(pokemon.Form.Name);
+ builder.Append(String.Format("{0} (#{1})", pokemon.Species.Name, pokemon.SpeciesID));
}
catch (KeyNotFoundException)
{
- builder.Append("Unknown form");
+ builder.Append(String.Format("??? (#{0})", record.Species));
+ }
+ catch (NullReferenceException)
+ {
+ builder.Append(String.Format("??? (#{0})", record.Species));
+ }
+ builder.Append("
");
+ try
+ {
+ if (pokemon.FormID != 0)
+ {
+ try
+ {
+ builder.Append(pokemon.Form.Name);
+ }
+ catch (KeyNotFoundException)
+ {
+ builder.Append("Unknown form");
+ }
+ catch (NullReferenceException)
+ {
+ builder.Append("Unknown form");
+ }
+ builder.Append("
");
+ }
+ }
+ catch (NullReferenceException)
+ {
+ builder.Append("Unknown form");
+ }
+ builder.Append(String.Format("Lv {0}", record.Level));
+ builder.Append(String.Format(", {0}", record.Gender));
+ builder.Append("
");
+ try
+ {
+ builder.Append(String.Format("Nature: {0}", pokemon.Nature.ToString()));
+ }
+ catch (NullReferenceException)
+ {
+ builder.Append("Nature: ???");
+ }
+ builder.Append("
");
+ try
+ {
+ builder.Append(String.Format("Ability: {0}", pokemon.Ability.Name));
+ }
+ catch (KeyNotFoundException)
+ {
+ builder.Append("Ability: ???");
+ }
+ catch (NullReferenceException)
+ {
+ builder.Append("Ability: ???");
}
builder.Append("
");
- }
- builder.Append(String.Format("Lv {0}, {1}", record.Level, record.Gender));
- builder.Append("
");
- builder.Append(String.Format("Nature: {0}", pokemon.Nature.ToString()));
- builder.Append("
");
- try
- {
- builder.Append(String.Format("Ability: {0}", pokemon.Ability.Name));
- }
- catch (KeyNotFoundException)
- {
- builder.Append("Ability: ???");
- }
- builder.Append("
");
- return builder.ToString();
+ return builder.ToString();
+ }
+ catch
+ {
+ return "Encountered an error trying to display this offer.";
+ }
}
protected String CreateWanted4(object DataItem)