mirror of https://github.com/django/django.git
Fixed #21189: Cleaned up usage of bare except clauses.
Thanks to berkerpeksag for the report and to claudep for the review.
This commit is contained in:
parent
948d209ada
commit
20472aa827
|
@ -12,7 +12,7 @@ class FlatpageFallbackMiddleware(object):
|
|||
# is a middleware, we can't assume the errors will be caught elsewhere.
|
||||
except Http404:
|
||||
return response
|
||||
except:
|
||||
except Exception:
|
||||
if settings.DEBUG:
|
||||
raise
|
||||
return response
|
||||
|
|
|
@ -345,5 +345,5 @@ class SpatialRefSysMixin(object):
|
|||
"""
|
||||
try:
|
||||
return six.text_type(self.srs)
|
||||
except:
|
||||
except Exception:
|
||||
return six.text_type(self.wkt)
|
||||
|
|
|
@ -238,15 +238,12 @@ class SpatiaLiteOperations(DatabaseOperations, BaseSpatialOperations):
|
|||
"""
|
||||
Helper routine for calling SpatiaLite functions and returning
|
||||
their result.
|
||||
Any error occuring in this method should be handled by the caller.
|
||||
"""
|
||||
cursor = self.connection._cursor()
|
||||
try:
|
||||
try:
|
||||
cursor.execute('SELECT %s' % func)
|
||||
row = cursor.fetchone()
|
||||
except:
|
||||
# Responsibility of caller to perform error handling.
|
||||
raise
|
||||
cursor.execute('SELECT %s' % func)
|
||||
row = cursor.fetchone()
|
||||
finally:
|
||||
cursor.close()
|
||||
return row[0]
|
||||
|
|
|
@ -73,7 +73,7 @@ class GeometryField(forms.Field):
|
|||
elif self.srid != -1 and self.srid != geom.srid:
|
||||
try:
|
||||
geom.transform(self.srid)
|
||||
except:
|
||||
except GEOSException:
|
||||
raise forms.ValidationError(self.error_messages['transform_error'], code='transform_error')
|
||||
|
||||
return geom
|
||||
|
|
|
@ -14,5 +14,5 @@
|
|||
try:
|
||||
from .base import GeoIP, GeoIPException
|
||||
HAS_GEOIP = True
|
||||
except:
|
||||
except ImportError:
|
||||
HAS_GEOIP = False
|
||||
|
|
|
@ -65,7 +65,7 @@ def notice_h(fmt, lst):
|
|||
fmt, lst = fmt.decode(), lst.decode()
|
||||
try:
|
||||
warn_msg = fmt % lst
|
||||
except:
|
||||
except TypeError:
|
||||
warn_msg = fmt
|
||||
logger.warning('GEOS_NOTICE: %s\n' % warn_msg)
|
||||
notice_h = NOTICEFUNC(notice_h)
|
||||
|
@ -75,7 +75,7 @@ def error_h(fmt, lst):
|
|||
fmt, lst = fmt.decode(), lst.decode()
|
||||
try:
|
||||
err_msg = fmt % lst
|
||||
except:
|
||||
except TypeError:
|
||||
err_msg = fmt
|
||||
logger.error('GEOS_ERROR: %s\n' % err_msg)
|
||||
error_h = ERRORFUNC(error_h)
|
||||
|
|
|
@ -8,6 +8,7 @@ from django.core.paginator import EmptyPage, PageNotAnInteger
|
|||
from django.contrib.gis.db.models.fields import GeometryField
|
||||
from django.db import connections, DEFAULT_DB_ALIAS
|
||||
from django.db.models import get_model
|
||||
from django.db.models.fields import FieldDoesNotExist
|
||||
from django.utils import six
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
|
@ -77,10 +78,10 @@ def kml(request, label, model, field_name=None, compress=False, using=DEFAULT_DB
|
|||
|
||||
if field_name:
|
||||
try:
|
||||
info = klass._meta.get_field_by_name(field_name)
|
||||
if not isinstance(info[0], GeometryField):
|
||||
raise Exception
|
||||
except:
|
||||
field, _, _, _ = klass._meta.get_field_by_name(field_name)
|
||||
if not isinstance(field, GeometryField):
|
||||
raise FieldDoesNotExist
|
||||
except FieldDoesNotExist:
|
||||
raise Http404('Invalid geometry field.')
|
||||
|
||||
connection = connections[using]
|
||||
|
|
|
@ -7,11 +7,12 @@ if HAS_GDAL:
|
|||
from django.contrib.gis.utils.ogrinfo import ogrinfo, sample
|
||||
from django.contrib.gis.utils.ogrinspect import mapping, ogrinspect
|
||||
from django.contrib.gis.utils.srs import add_postgis_srs, add_srs_entry
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
try:
|
||||
# LayerMapping requires DJANGO_SETTINGS_MODULE to be set,
|
||||
# so this needs to be in try/except.
|
||||
from django.contrib.gis.utils.layermapping import LayerMapping, LayerMapError
|
||||
except:
|
||||
except ImproperlyConfigured:
|
||||
pass
|
||||
|
||||
from django.contrib.gis.utils.wkt import precision_wkt
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
http://geodjango.org/docs/layermapping.html
|
||||
"""
|
||||
import sys
|
||||
from decimal import Decimal
|
||||
from decimal import Decimal, InvalidOperation as DecimalInvalidOperation
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.db import connections, router
|
||||
from django.contrib.gis.db.models import GeometryField
|
||||
|
@ -337,7 +337,7 @@ class LayerMapping(object):
|
|||
try:
|
||||
# Creating an instance of the Decimal value to use.
|
||||
d = Decimal(str(ogr_field.value))
|
||||
except:
|
||||
except DecimalInvalidOperation:
|
||||
raise InvalidDecimal('Could not construct decimal from: %s' % ogr_field.value)
|
||||
|
||||
# Getting the decimal value as a tuple.
|
||||
|
@ -365,7 +365,7 @@ class LayerMapping(object):
|
|||
# Attempt to convert any OFTReal and OFTString value to an OFTInteger.
|
||||
try:
|
||||
val = int(ogr_field.value)
|
||||
except:
|
||||
except ValueError:
|
||||
raise InvalidInteger('Could not construct integer from: %s' % ogr_field.value)
|
||||
else:
|
||||
val = ogr_field.value
|
||||
|
@ -547,8 +547,6 @@ class LayerMapping(object):
|
|||
m.save(using=self.using)
|
||||
num_saved += 1
|
||||
if verbose: stream.write('%s: %s\n' % ('Updated' if is_update else 'Saved', m))
|
||||
except SystemExit:
|
||||
raise
|
||||
except Exception as msg:
|
||||
if strict:
|
||||
# Bailing out if the `strict` keyword is set.
|
||||
|
@ -588,7 +586,7 @@ class LayerMapping(object):
|
|||
try:
|
||||
num_feat, num_saved = _save(step_slice, num_feat, num_saved)
|
||||
beg = end
|
||||
except:
|
||||
except: # Deliberately catch everything
|
||||
stream.write('%s\nFailed to save slice: %s\n' % ('=-' * 20, step_slice))
|
||||
raise
|
||||
else:
|
||||
|
|
|
@ -28,7 +28,7 @@ class EmailBackend(BaseEmailBackend):
|
|||
msg_count += 1
|
||||
if stream_created:
|
||||
self.close()
|
||||
except:
|
||||
except Exception:
|
||||
if not self.fail_silently:
|
||||
raise
|
||||
return msg_count
|
||||
|
|
|
@ -56,7 +56,7 @@ class EmailBackend(BaseEmailBackend):
|
|||
if self.username and self.password:
|
||||
self.connection.login(self.username, self.password)
|
||||
return True
|
||||
except:
|
||||
except smtplib.SMTPException:
|
||||
if not self.fail_silently:
|
||||
raise
|
||||
|
||||
|
@ -72,7 +72,7 @@ class EmailBackend(BaseEmailBackend):
|
|||
# sometimes, or when the connection was already disconnected
|
||||
# by the server.
|
||||
self.connection.close()
|
||||
except:
|
||||
except smtplib.SMTPException:
|
||||
if self.fail_silently:
|
||||
return
|
||||
raise
|
||||
|
@ -113,7 +113,7 @@ class EmailBackend(BaseEmailBackend):
|
|||
try:
|
||||
self.connection.sendmail(from_email, recipients,
|
||||
force_bytes(message.as_string(), charset))
|
||||
except:
|
||||
except smtplib.SMTPException:
|
||||
if not self.fail_silently:
|
||||
raise
|
||||
return False
|
||||
|
|
|
@ -209,7 +209,7 @@ class LaxOptionParser(OptionParser):
|
|||
# dealing with options
|
||||
del rargs[0]
|
||||
raise Exception
|
||||
except:
|
||||
except: # Needed because we might need to catch a SystemExit
|
||||
largs.append(arg)
|
||||
|
||||
class ManagementUtility(object):
|
||||
|
@ -360,7 +360,7 @@ class ManagementUtility(object):
|
|||
try:
|
||||
options, args = parser.parse_args(self.argv)
|
||||
handle_default_options(options)
|
||||
except:
|
||||
except: # Needed because parser.parse_args can raise SystemExit
|
||||
pass # Ignore any option errors at this point.
|
||||
|
||||
try:
|
||||
|
|
|
@ -63,7 +63,7 @@ def sql_delete(app, style, connection):
|
|||
# This should work even if a connection isn't available
|
||||
try:
|
||||
cursor = connection.cursor()
|
||||
except:
|
||||
except Exception:
|
||||
cursor = None
|
||||
|
||||
# Figure out which tables already exist
|
||||
|
|
|
@ -620,7 +620,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
|
|||
|
||||
try:
|
||||
self.connection.stmtcachesize = 20
|
||||
except:
|
||||
except AttributeError:
|
||||
# Django docs specify cx_Oracle version 4.3.1 or higher, but
|
||||
# stmtcachesize is available only in 4.3.2 and up.
|
||||
pass
|
||||
|
|
|
@ -7,6 +7,7 @@ file upload handlers for processing.
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import base64
|
||||
import binascii
|
||||
import cgi
|
||||
import sys
|
||||
|
||||
|
@ -33,6 +34,8 @@ RAW = "raw"
|
|||
FILE = "file"
|
||||
FIELD = "field"
|
||||
|
||||
_BASE64_DECODE_ERROR = TypeError if six.PY2 else binascii.Error
|
||||
|
||||
class MultiPartParser(object):
|
||||
"""
|
||||
A rfc2388 multipart/form-data parser.
|
||||
|
@ -161,8 +164,8 @@ class MultiPartParser(object):
|
|||
if transfer_encoding == 'base64':
|
||||
raw_data = field_stream.read()
|
||||
try:
|
||||
data = str(raw_data).decode('base64')
|
||||
except:
|
||||
data = base64.b64decode(raw_data)
|
||||
except _BASE64_DECODE_ERROR:
|
||||
data = raw_data
|
||||
else:
|
||||
data = field_stream.read()
|
||||
|
@ -546,7 +549,7 @@ def parse_boundary_stream(stream, max_header_size):
|
|||
main_value_pair, params = parse_header(line)
|
||||
try:
|
||||
name, value = main_value_pair.split(':', 1)
|
||||
except:
|
||||
except ValueError:
|
||||
raise ValueError("Invalid header: %r" % line)
|
||||
return name, (value, params)
|
||||
|
||||
|
@ -571,7 +574,7 @@ def parse_boundary_stream(stream, max_header_size):
|
|||
# parameters") is from the Python docs.
|
||||
try:
|
||||
name, (value, params) = _parse_header(line)
|
||||
except:
|
||||
except ValueError:
|
||||
continue
|
||||
|
||||
if name == 'content-disposition':
|
||||
|
|
|
@ -16,7 +16,7 @@ from django.conf import settings
|
|||
from django.core import signing
|
||||
from django.core.exceptions import DisallowedHost, ImproperlyConfigured
|
||||
from django.core.files import uploadhandler
|
||||
from django.http.multipartparser import MultiPartParser
|
||||
from django.http.multipartparser import MultiPartParser, MultiPartParserError
|
||||
from django.utils import six
|
||||
from django.utils.datastructures import MultiValueDict, ImmutableList
|
||||
from django.utils.encoding import force_bytes, force_text, force_str, iri_to_uri
|
||||
|
@ -222,7 +222,7 @@ class HttpRequest(object):
|
|||
data = self
|
||||
try:
|
||||
self._post, self._files = self.parse_file_upload(self.META, data)
|
||||
except:
|
||||
except MultiPartParserError:
|
||||
# An error occured while parsing POST data. Since when
|
||||
# formatting the error the request handler might access
|
||||
# self.POST, set self._post and self._file to prevent
|
||||
|
@ -230,7 +230,7 @@ class HttpRequest(object):
|
|||
# Mark that an error occured. This allows self.__repr__ to
|
||||
# be explicit about it instead of simply representing an
|
||||
# empty POST
|
||||
self._mark_post_parse_error()
|
||||
# self._mark_post_parse_error()
|
||||
raise
|
||||
elif self.META.get('CONTENT_TYPE', '').startswith('application/x-www-form-urlencoded'):
|
||||
self._post, self._files = QueryDict(self.body, encoding=self._encoding), MultiValueDict()
|
||||
|
|
|
@ -143,7 +143,7 @@ class IncludeNode(Node):
|
|||
return template.render(context.new(values))
|
||||
with context.push(**values):
|
||||
return template.render(context)
|
||||
except:
|
||||
except Exception:
|
||||
if settings.TEMPLATE_DEBUG:
|
||||
raise
|
||||
return ''
|
||||
|
|
Loading…
Reference in New Issue