Made FileNotFoundException check more specific

This commit is contained in:
Evan Dixon 2017-01-30 22:27:08 -06:00
parent 26925ad528
commit 18f08b93a3

View file

@ -1,5 +1,6 @@
using System; using System;
using System.IO; using System.IO;
using System.Reflection;
using System.Threading; using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
@ -28,14 +29,26 @@ namespace PKHeX.WinForms
{ {
StartPKHeX(); StartPKHeX();
} }
catch (FileNotFoundException) catch (FileNotFoundException ex)
{ {
MessageBox.Show("Could not locate PKHeX.Core.dll. Make sure you're running PKHeX together with its code library. Usually caused when all files are not extracted.", "PKHeX Error", MessageBoxButtons.OK, MessageBoxIcon.Stop); // Check whether or not the exception was from missing PKHeX.Core, rather than something else in the constructor of Main
if (ex.TargetSite == typeof(Program).GetMethod(nameof(StartPKHeX), BindingFlags.Static | BindingFlags.NonPublic))
{
// Exception came from StartPKHeX and (probably) corresponds to missing PKHeX.Core
MessageBox.Show("Could not locate PKHeX.Core.dll. Make sure you're running PKHeX together with its code library. Usually caused when all files are not extracted.", "PKHeX Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
else
{
// Exception came from Main
throw;
}
} }
} }
static void StartPKHeX() private static void StartPKHeX()
{ {
// Run the application // Run the application
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);