AxionDrak / GameCube-Backup-Manager

GameCube Backup Manager - a software to convert ISO files to Nintendont format.
MIT License
125 stars 12 forks source link

Feature Request / Bug: Handle crash on missing file error #50

Open jmynes opened 2 years ago

jmynes commented 2 years ago

Expected behavior: Warn user of missing file, prompt to Skip, Change Path, or Re-Scan Directory?

Steps to reproduce crash:

  1. Load list of ISOs in Files (Source)
  2. Select all loaded ISOs
  3. Change path name, file name(s), or remove file(s) from selected directory
  4. Select Install Game (1:1), or Install Game (Scrub)
  5. Crashes with the following debug information:
    
    See the end of this message for details on invoking 
    just-in-time (JIT) debugging instead of this dialog box.

** Exception Text ** System.IO.FileNotFoundException: Could not find file 'E:\backups\gamecube\Nkit - iso\src\Animal Crossing (USA).nkit.iso'. File name: 'E:\backups\gamecube\Nkit - iso\src\Animal Crossing (USA).nkit.iso' at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileInfo.get_Length() at GCBM.frmMain.getGameInfo(String path) at GCBM.frmMain.BuildInstallQueue() at GCBM.frmMain.StartScrub() at GCBM.frmMain.btnGameInstallScrub_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Loaded Assemblies ** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.8.4515.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

GCBM Assembly Version: 2.6.0.2 Win32 Version: 2.6.0.2 CodeBase: file:///C:/Program%20Files/gcbm/GCBM.exe

System Assembly Version: 4.0.0.0 Win32 Version: 4.8.4488.0 built by: NET48REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.8.4515.0 built by: NET48REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.8.4515.0 built by: NET48REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

GCBM.resources Assembly Version: 2.6.0.2 Win32 Version: 2.6.0.2 CodeBase: file:///C:/Program%20Files/gcbm/en-US/GCBM.resources.DLL

AutoUpdater.NET Assembly Version: 1.7.0.0 Win32 Version: 1.7.0.0 CodeBase: file:///C:/Program%20Files/gcbm/AutoUpdater.NET.DLL

System.Data Assembly Version: 4.0.0.0 Win32 Version: 4.8.4455.0 built by: NET48REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

System.Numerics Assembly Version: 4.0.0.0 Win32 Version: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll

System.Xml.Linq Assembly Version: 4.0.0.0 Win32 Version: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll

** JIT Debugging ** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.

For example:

When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.

sjohnson1021 commented 2 years ago

I'll just.. leave this here 😉

image

Soon ™️