blob: 6148733e2b482b9179db36774276a08acce6aff6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# pylint: disable=missing-docstring, broad-except, unreachable, try-except-raise, raise-missing-from
# pylint: disable=unused-variable, too-few-public-methods, invalid-name, useless-object-inheritance
try:
raise # [misplaced-bare-raise]
except Exception:
pass
try:
pass
except Exception:
raise
# pylint: disable=misplaced-comparison-constant
try:
pass
except Exception:
if 1 == 2:
raise
def test():
try:
pass
except Exception:
def chest():
try:
pass
except Exception:
raise
raise
def test1():
try:
if 1 > 2:
def best():
raise # [misplaced-bare-raise]
except Exception:
pass
raise # [misplaced-bare-raise]
raise # [misplaced-bare-raise]
try:
pass
finally:
# This might work or might not to, depending if there's
# an error raised inside the try block. But relying on this
# behaviour can be error prone, so we decided to warn
# against it.
raise # [misplaced-bare-raise]
class A(object):
try:
pass
except Exception:
raise
raise # [misplaced-bare-raise]
# This works in Python 2, but the intent is nevertheless
# unclear. It will also not work on Python 3, so it's best
# not to rely on it.
exc = None
try:
1/0
except ZeroDivisionError as exc:
pass
if exc:
raise # [misplaced-bare-raise]
# Don't emit if we're in ``__exit__``.
class ContextManager(object):
def __enter__(self):
return self
def __exit__(self, *args):
raise
def test_dont_trigger_in_finally_clause_found_in_exception_handler():
try:
raise ValueError('bad value')
except ValueError:
try:
raise IOError('failed')
finally:
raise
|