AbstractLauncherApplication.st
changeset 17209 9fa5c28001d5
parent 17159 25063f90ce7d
child 17213 e0212d9e3913
--- a/AbstractLauncherApplication.st	Wed Jan 11 15:08:49 2017 +0100
+++ b/AbstractLauncherApplication.st	Wed Jan 11 16:36:45 2017 +0100
@@ -7292,7 +7292,7 @@
                                     dir notNil ifTrue:[
                                         FileBrowser default openOn:dir.
                                     ] ifFalse:[
-                                        Dialog warn:(resources string:'Directory not present/readable: "%1"' with:dir)
+                                        Dialog warn:(resources string:'Project directory of "%1" is not present/readable' with:package)
                                     ]
                                 ].
                             ]
@@ -7738,6 +7738,7 @@
             ].
             
         Smalltalk onChangeSend:#value:value: to:updateAction.
+        
         [
             |packageTried dir className fileName|
 
@@ -7752,19 +7753,23 @@
                 className := ProjectDefinition projectDefinitionClassNameForDefinitionOf:package.
                 fileName := dir / ((Smalltalk fileNameForClass:className),'.st').
                 fileName exists ifTrue:[
-                    Smalltalk fileIn:fileName.
+                    ParseError handle:[:ex |
+                        Dialog warn:(resources string:'An error happened while loading the project definition:\  %1\\Maybe the project depends on some other package.\Please check this manually.' with:ex description)
+                    ] do:[    
+                        Smalltalk fileIn:fileName.
+                    ].
                 ] ifFalse:[
                     Dialog warn:(resources string:'Project definition class file not present: "%1"' with:fileName)
                 ]
             ] ifFalse:[
-                Dialog warn:(resources string:'Directory not present/readable: "%1"' with:dir)
+                Dialog warn:(resources string:'Project directory for "%1" is not present/readable' with:package).
+                ^ self.
             ]
         ] ensure:[
             Smalltalk retractInterestsFor:updateAction.
         ].
     ].
-    ((defClass := package asPackageId projectDefinitionClass) notNil
-        and:[ defClass isLoaded ])
+    ((defClass := package asPackageId projectDefinitionClass) notNil and:[ defClass isLoaded ])
     ifFalse:[
         defClass isNil ifTrue:[
             Dialog warn:(resources string:'Load failed: definition class for packageID (%1) not present after package load.' with:package)