diff --git a/reviewboard/admin/siteconfig.py b/reviewboard/admin/siteconfig.py
index 00fad70bd7079fcd8e1038eaaac7ed9a3ef6f047..f4e40fb34d014d055e691a5e0aba6df639634107 100644
--- a/reviewboard/admin/siteconfig.py
+++ b/reviewboard/admin/siteconfig.py
@@ -393,10 +393,12 @@ def load_site_config(full_reload=False):
         siteconfig.get('swift_username'))
     settings.SWIFT_KEY = str(
         siteconfig.get('swift_key'))
+
     try:
         settings.SWIFT_AUTH_VERSION = int(siteconfig.get('swift_auth_version'))
-    except:
+    except ValueError:
         settings.SWIFT_AUTH_VERSION = 1
+
     settings.SWIFT_CONTAINER_NAME = str(
         siteconfig.get('swift_container_name'))
 
diff --git a/reviewboard/attachments/mimetypes.py b/reviewboard/attachments/mimetypes.py
index f97170f8848ed258b8bbca9a02238104fad0e501..26f9fb015c520b105fc8c89839d2fdd03f3a98a0 100644
--- a/reviewboard/attachments/mimetypes.py
+++ b/reviewboard/attachments/mimetypes.py
@@ -329,7 +329,7 @@ class MimetypeHandler(object):
 
         try:
             mimetype = mimeparse.parse_mime_type(attachment.mimetype)
-        except:
+        except Exception:
             logging.warning('Unable to parse MIME type "%s" for %s',
                             attachment.mimetype, attachment)
             mimetype = ('application', 'octet-stream', {})
diff --git a/reviewboard/cmdline/rbsite.py b/reviewboard/cmdline/rbsite.py
index b75ed39e9111f0429b2023ced95adf9403f5c039..dd5611fe91f18634e773680020b31e6dc0c0a2e9 100755
--- a/reviewboard/cmdline/rbsite.py
+++ b/reviewboard/cmdline/rbsite.py
@@ -384,7 +384,7 @@ class Site(object):
                 # Raise a generic regex error so we go to the
                 # exception handler to pick a default
                 raise re.error
-        except:
+        except Exception:
             # Version check returned an error or the regular
             # expression did not match. Guess 2.2 for historic
             # compatibility
diff --git a/reviewboard/cmdline/rbssh.py b/reviewboard/cmdline/rbssh.py
index caaac19bb0d143317b9fb6202cee83ddbe35d256..38a996535aa9d87730871e5242468d39f44533ba 100755
--- a/reviewboard/cmdline/rbssh.py
+++ b/reviewboard/cmdline/rbssh.py
@@ -370,7 +370,7 @@ def main():
                            password=password, pkey=key,
                            allow_agent=options.allow_agent)
             break
-        except paramiko.AuthenticationException as e:
+        except paramiko.AuthenticationException:
             if attempts == 3 or not sys.stdin.isatty():
                 logging.error('Too many authentication failures for %s' %
                               username)
diff --git a/reviewboard/hostingsvcs/beanstalk.py b/reviewboard/hostingsvcs/beanstalk.py
index c822d5f11e68e9b267b9ec751f47f460ae386b7f..6df5cafedb21a411c18e7698a45645ea75287b99 100644
--- a/reviewboard/hostingsvcs/beanstalk.py
+++ b/reviewboard/hostingsvcs/beanstalk.py
@@ -437,7 +437,7 @@ class Beanstalk(HostingService):
 
             try:
                 rsp = json.loads(data)
-            except:
+            except Exception:
                 rsp = None
 
             if rsp and 'errors' in rsp:
diff --git a/reviewboard/hostingsvcs/bitbucket.py b/reviewboard/hostingsvcs/bitbucket.py
index 83c79a8d060c0df8d0e425397395e83f3d2b4024..ead59b90e15985b10415865a8d84288589a7ba03 100644
--- a/reviewboard/hostingsvcs/bitbucket.py
+++ b/reviewboard/hostingsvcs/bitbucket.py
@@ -186,7 +186,7 @@ class BitbucketHookViews(object):
                     payload=payload,
                     server_url=server_url,
                     repository=repository)
-        except AuthorizationError as e:
+        except AuthorizationError:
             return HttpResponseForbidden(
                 'Incorrect username or password configured for this '
                 'repository on Review Board.')
diff --git a/reviewboard/hostingsvcs/github.py b/reviewboard/hostingsvcs/github.py
index 1d5d9bbe8a279f9ec39fd38dd61bf6377934dd39..89ef0357591ca8aee97e48c4fa36d2bc93cd1d65 100644
--- a/reviewboard/hostingsvcs/github.py
+++ b/reviewboard/hostingsvcs/github.py
@@ -1179,7 +1179,7 @@ class GitHub(HostingService, BugTracker):
                 'description': issue['body'],
                 'status': issue['state'],
             }
-        except:
+        except Exception:
             # Errors in fetching are already logged in api_get_issue
             pass
 
diff --git a/reviewboard/hostingsvcs/kiln.py b/reviewboard/hostingsvcs/kiln.py
index fc09717be003a6e58b367d5ae9dc65a2a60c3803..258dd41033c094c6742edf59e079567d4bf58dfe 100644
--- a/reviewboard/hostingsvcs/kiln.py
+++ b/reviewboard/hostingsvcs/kiln.py
@@ -166,7 +166,7 @@ class KilnClient(HostingServiceClient):
         if raw_content:
             try:
                 rsp = json.loads(rsp)
-            except:
+            except Exception:
                 rsp = None
 
         if rsp and 'errors' in rsp:
diff --git a/reviewboard/integrations/models.py b/reviewboard/integrations/models.py
index 25a69dc05e4455e8b4082306f99333f7a16471e1..1683b48bf33e5c74988e5daa071f1ff8e7f118bd 100644
--- a/reviewboard/integrations/models.py
+++ b/reviewboard/integrations/models.py
@@ -67,7 +67,7 @@ class IntegrationConfig(GetIntegrationManagerMixin, BaseIntegrationConfig):
                     'local_site': self.local_site,
                     'matching': True,
                 })
-        except:
+        except Exception:
             logging.exception('Unable to load bad condition set data for '
                               'integration configuration ID=%s for key="%s"',
                               self.pk, conditions_key)
diff --git a/reviewboard/reviews/ui/base.py b/reviewboard/reviews/ui/base.py
index 51da0cb0b29e5dbbb6202d42399e32766cf43d53..837f87c2987c62ddd1d0d3b0b3086ad91e7a5ba4 100644
--- a/reviewboard/reviews/ui/base.py
+++ b/reviewboard/reviews/ui/base.py
@@ -836,7 +836,7 @@ class FileAttachmentReviewUI(ReviewUI):
         if attachment.mimetype:
             try:
                 mimetype = mimeparse.parse_mime_type(attachment.mimetype)
-            except:
+            except Exception:
                 logger.error('Unable to parse MIME type "%s" for %s',
                              attachment.mimetype, attachment)
                 return None
diff --git a/reviewboard/scmtools/core.py b/reviewboard/scmtools/core.py
index 3c1a2ed9dd507c83dabdc770387e59b23a600d76..0bdd0c9598b37bbf2b21235311a0f2e1f7d3d4a4 100644
--- a/reviewboard/scmtools/core.py
+++ b/reviewboard/scmtools/core.py
@@ -1259,7 +1259,7 @@ class SCMTool(object):
                 # AuthenticationError.
                 raise AuthenticationError(e.allowed_types, str(e),
                                           e.user_key)
-            except:
+            except Exception:
                 # Re-raise anything else
                 raise
 
diff --git a/reviewboard/scmtools/cvs.py b/reviewboard/scmtools/cvs.py
index 384140e464f90f96cde7fb81256e74e7f9eff6a1..fc790dd07ad4abe81fcdb87012071300b27e9ba7 100644
--- a/reviewboard/scmtools/cvs.py
+++ b/reviewboard/scmtools/cvs.py
@@ -334,7 +334,7 @@ class CVSTool(SCMTool):
                 # AuthenticationError.
                 raise AuthenticationError(e.allowed_types, str(e),
                                           e.user_key)
-            except:
+            except Exception:
                 # Re-raise anything else
                 raise
 
diff --git a/reviewboard/testing/__init__.py b/reviewboard/testing/__init__.py
index 277ede66e664f5abc6e6110162f2a00d30b6377b..5d774ac285c7ac36324479a7274021f41d1ff7c9 100644
--- a/reviewboard/testing/__init__.py
+++ b/reviewboard/testing/__init__.py
@@ -25,7 +25,7 @@ def is_online():
         try:
             socket.gethostbyname('google.com')
             _online = True
-        except:
+        except Exception:
             _online = False
 
     return _online
diff --git a/reviewboard/webapi/resources/diff.py b/reviewboard/webapi/resources/diff.py
index 449999ca95f8d5b398fafd908e549d89d7a9f869..bd36a9d550afdb6580728854b29c0b60a001168d 100644
--- a/reviewboard/webapi/resources/diff.py
+++ b/reviewboard/webapi/resources/diff.py
@@ -331,7 +331,7 @@ class DiffResource(WebAPIResource):
                     'file': e.path,
                     'revision': str(e.revision)
                 }
-            except EmptyDiffError as e:
+            except EmptyDiffError:
                 return DIFF_EMPTY
             except DiffTooBigError as e:
                 return DIFF_TOO_BIG, {
diff --git a/reviewboard/webapi/resources/draft_diffcommit.py b/reviewboard/webapi/resources/draft_diffcommit.py
index d8cd609349f913bfd856d9bc84a11741a40201fd..93b3c7fedf0eccec16cd971e0c5f70d3d573006d 100644
--- a/reviewboard/webapi/resources/draft_diffcommit.py
+++ b/reviewboard/webapi/resources/draft_diffcommit.py
@@ -317,7 +317,7 @@ class DraftDiffCommitResource(DiffCommitResource):
                 'file': e.path,
                 'revision': str(e.revision),
             }
-        except EmptyDiffError as e:
+        except EmptyDiffError:
             return DIFF_EMPTY
         except DiffTooBigError as e:
             return DIFF_TOO_BIG, {
diff --git a/reviewboard/webapi/resources/repository_info.py b/reviewboard/webapi/resources/repository_info.py
index 914d7698004df2a6688eeff46ec488ffd67922c2..3417e738fcbb085dca89ded9f49abdf2b886895f 100644
--- a/reviewboard/webapi/resources/repository_info.py
+++ b/reviewboard/webapi/resources/repository_info.py
@@ -45,7 +45,7 @@ class RepositoryInfoResource(WebAPIResource):
             return REPO_NOT_IMPLEMENTED
         except AuthenticationError as e:
             return REPO_INFO_ERROR.with_message(str(e))
-        except:
+        except Exception:
             return REPO_INFO_ERROR
 
 
diff --git a/reviewboard/webapi/resources/review_request.py b/reviewboard/webapi/resources/review_request.py
index 236047d7494cfec2de685269cda1e347291fd717..3bb80c66082ba5f6d8c97250951dbaec3b7d876f 100644
--- a/reviewboard/webapi/resources/review_request.py
+++ b/reviewboard/webapi/resources/review_request.py
@@ -860,8 +860,6 @@ class ReviewRequestResource(MarkdownFieldsMixin, WebAPIResource):
                              e,
                              request=request)
             return REPO_INFO_ERROR.with_message('SSH Error: %s' % e)
-        except HostingServiceError as e:
-            return REPO_INFO_ERROR.with_message(str(e))
         except SCMError as e:
             return REPO_INFO_ERROR.with_message(str(e))
         except ValidationError:
