2023-05-03 11:06:20 +02:00
|
|
|
== Why is this an issue?
|
|
|
|
|
2021-01-27 13:42:22 +01:00
|
|
|
Creating a new ``++Exception++`` without actually raising it has no effect and is probably due to a mistake.
|
2020-06-30 12:48:39 +02:00
|
|
|
|
2023-05-03 11:06:20 +02:00
|
|
|
=== Noncompliant code example
|
2020-06-30 12:48:39 +02:00
|
|
|
|
2022-02-04 17:28:24 +01:00
|
|
|
[source,python]
|
2020-06-30 12:48:39 +02:00
|
|
|
----
|
|
|
|
def func(x):
|
|
|
|
if not isinstance(x, int):
|
|
|
|
TypeError("Wrong type for parameter 'x'. func expects an integer") # Noncompliant
|
|
|
|
if x < 0:
|
|
|
|
ValueError # Noncompliant
|
|
|
|
return x + 42
|
|
|
|
----
|
|
|
|
|
2023-05-03 11:06:20 +02:00
|
|
|
=== Compliant solution
|
2020-06-30 12:48:39 +02:00
|
|
|
|
2022-02-04 17:28:24 +01:00
|
|
|
[source,python]
|
2020-06-30 12:48:39 +02:00
|
|
|
----
|
|
|
|
def func(x):
|
|
|
|
if not isinstance(x, int):
|
|
|
|
raise TypeError("Wrong type for parameter 'x'. func expects an integer")
|
|
|
|
if x < 0:
|
|
|
|
raise ValueError
|
|
|
|
return x + 42
|
|
|
|
----
|
|
|
|
|
2023-05-03 11:06:20 +02:00
|
|
|
== Resources
|
2020-06-30 12:48:39 +02:00
|
|
|
|
|
|
|
* https://docs.python.org/3/tutorial/errors.html#raising-exceptions[Python documentation - Raising Exceptions]
|
2021-09-20 15:38:42 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
2023-05-25 14:18:12 +02:00
|
|
|
=== Message
|
|
|
|
|
|
|
|
Raise this exception or remove this useless statement
|
|
|
|
|
|
|
|
|
|
|
|
=== Highlighting
|
|
|
|
|
|
|
|
Primary: The statement creating an Exception.
|
2021-09-20 15:38:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|