@@ -231,36 +231,41 @@ private bool ClearCacheFolder()
231231 }
232232 } ) ;
233233
234- // Firstly, delete plugin cache directories
235- pluginCacheDirectory . EnumerateDirectories ( "*" , SearchOption . TopDirectoryOnly )
236- . ToList ( )
237- . ForEach ( dir =>
238- {
239- try
240- {
241- // Plugin may create directories in its cache directory
242- dir . Delete ( recursive : true ) ;
243- }
244- catch ( Exception e )
234+ // Check if plugin cache directory exists before attempting to delete
235+ // Or it will throw DirectoryNotFoundException in `pluginCacheDirectory.EnumerateDirectories`
236+ if ( pluginCacheDirectory . Exists )
237+ {
238+ // Firstly, delete plugin cache directories
239+ pluginCacheDirectory . EnumerateDirectories ( "*" , SearchOption . TopDirectoryOnly )
240+ . ToList ( )
241+ . ForEach ( dir =>
245242 {
246- App . API . LogException ( ClassName , $ "Failed to delete cache directory: { dir . Name } ", e ) ;
247- success = false ;
248- }
249- } ) ;
243+ try
244+ {
245+ // Plugin may create directories in its cache directory
246+ dir . Delete ( recursive : true ) ;
247+ }
248+ catch ( Exception e )
249+ {
250+ App . API . LogException ( ClassName , $ "Failed to delete cache directory: { dir . Name } ", e ) ;
251+ success = false ;
252+ }
253+ } ) ;
254+
255+ // Then, delete plugin directory
256+ var dir = pluginCacheDirectory ;
257+ try
258+ {
259+ dir . Delete ( recursive : false ) ;
260+ }
261+ catch ( Exception e )
262+ {
263+ App . API . LogException ( ClassName , $ "Failed to delete cache directory: { dir . Name } ", e ) ;
264+ success = false ;
265+ }
250266
251- // Then, delete plugin directory
252- var dir = GetPluginCacheDir ( ) ;
253- try
254- {
255- dir . Delete ( recursive : false ) ;
267+ OnPropertyChanged ( nameof ( CacheFolderSize ) ) ;
256268 }
257- catch ( Exception e )
258- {
259- App . API . LogException ( ClassName , $ "Failed to delete cache directory: { dir . Name } ", e ) ;
260- success = false ;
261- }
262-
263- OnPropertyChanged ( nameof ( CacheFolderSize ) ) ;
264269
265270 return success ;
266271 }
0 commit comments