summary refs log tree commit diff stats
path: root/ranger
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-06-05 02:56:25 +0200
committerhut <hut@lavabit.com>2010-06-05 02:56:25 +0200
commit2749081931a2c86cac2b8e37920006843f06e246 (patch)
tree9f4f2629beb33489e48680a5f9143305976129f8 /ranger
parent6bd1c59255793f2ca565c992809c32129111f71a (diff)
downloadranger-2749081931a2c86cac2b8e37920006843f06e246.tar.gz
main: fixed error handling in python2.6 and improved it
Diffstat (limited to 'ranger')
-rw-r--r--ranger/__main__.py22
1 files changed, 8 insertions, 14 deletions
diff --git a/ranger/__main__.py b/ranger/__main__.py
index 5f525582..64ad4b74 100644
--- a/ranger/__main__.py
+++ b/ranger/__main__.py
@@ -191,7 +191,7 @@ def main():
 	else:
 		path = '.'
 
-	crash_exception = None
+	crash_traceback = None
 	try:
 		# Initialize objects
 		EnvironmentAware._assign(Environment(path))
@@ -205,24 +205,18 @@ def main():
 		fm.ui.initialize()
 		fm.loop()
 	except Exception as e:
-		crash_exception = e
-		if not (arg.debug or arg.clean):
-			import traceback
-			dumpname = ranger.relpath_conf('traceback')
-			traceback.print_exc(file=open(dumpname, 'w'))
+		import traceback
+		crash_traceback = traceback.format_exc()
 	finally:
-		# Finish, clean up
 		try:
 			fm.ui.destroy()
 		except (AttributeError, NameError):
 			pass
-		if crash_exception:
-			print("Fatal: " + str(crash_exception))
-			if arg.debug or arg.clean:
-				raise crash_exception
-			else:
-				print("A traceback has been saved to " + dumpname)
-				print("Please include it in a bugreport.")
+		if crash_traceback:
+			print(crash_traceback)
+			print("Ranger crashed.  " \
+					"Please report it (including the traceback) at:")
+			print("http://savannah.nongnu.org/bugs/?group=ranger&func=additem")
 
 
 if __name__ == '__main__':
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213