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
|
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
|
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
|
|
|
|
----
|
|
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
|
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
|
|
|
|
----
|
|
|
|
|
|
|
|
== See
|
|
|
|
|
|
|
|
* 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)
|
|
|
|
|
|
|
|
include::message.adoc[]
|
|
|
|
|
|
|
|
include::highlighting.adoc[]
|
|
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|