mirror of
https://github.com/satwikkansal/wtfpython
synced 2024-11-22 11:04:25 +01:00
Translate Catching the Exceptions example
This commit is contained in:
parent
7ce56da1d8
commit
c2dd151ed5
76
translations/README-ru.md
vendored
76
translations/README-ru.md
vendored
@ -2354,3 +2354,79 @@ def some_func(default_arg=[]):
|
|||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
### ▶ Ловля исключений
|
||||||
|
<!-- Example ID: b5ca5e6a-47b9-4f69-9375-cda0f8c6755d --->
|
||||||
|
```py
|
||||||
|
some_list = [1, 2, 3]
|
||||||
|
try:
|
||||||
|
# Должно вернуться ``IndexError``
|
||||||
|
print(some_list[4])
|
||||||
|
except IndexError, ValueError:
|
||||||
|
print("Caught!")
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Должно вернуться ``ValueError``
|
||||||
|
some_list.remove(4)
|
||||||
|
except IndexError, ValueError:
|
||||||
|
print("Caught again!")
|
||||||
|
```
|
||||||
|
|
||||||
|
**Результат (Python 2.x):**
|
||||||
|
```py
|
||||||
|
Caught!
|
||||||
|
|
||||||
|
ValueError: list.remove(x): x not in list
|
||||||
|
```
|
||||||
|
|
||||||
|
**Результат (Python 3.x):**
|
||||||
|
```py
|
||||||
|
File "<input>", line 3
|
||||||
|
except IndexError, ValueError:
|
||||||
|
^
|
||||||
|
SyntaxError: invalid syntax
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 💡 Объяснение
|
||||||
|
|
||||||
|
* Чтобы добавить несколько Исключений в блок `except`, необходимо передать их в виде кортежа с круглыми скобками в качестве первого аргумента. Второй аргумент - это необязательное имя, которое при передаче свяжет экземпляр исключения, который был пойман. Пример,
|
||||||
|
```py
|
||||||
|
some_list = [1, 2, 3]
|
||||||
|
try:
|
||||||
|
# Должно возникнуть ``ValueError``
|
||||||
|
some_list.remove(4)
|
||||||
|
except (IndexError, ValueError), e:
|
||||||
|
print("Caught again!")
|
||||||
|
print(e)
|
||||||
|
```
|
||||||
|
**Результат (Python 2.x):**
|
||||||
|
```
|
||||||
|
Caught again!
|
||||||
|
list.remove(x): x not in list
|
||||||
|
```
|
||||||
|
**Результат (Python 3.x):**
|
||||||
|
```py
|
||||||
|
File "<input>", line 4
|
||||||
|
except (IndexError, ValueError), e:
|
||||||
|
^
|
||||||
|
IndentationError: unindent does not match any outer indentation level
|
||||||
|
```
|
||||||
|
|
||||||
|
* Отделение исключения от переменной запятой является устаревшим и не работает в Python 3; правильнее использовать `as`. Пример,
|
||||||
|
```py
|
||||||
|
some_list = [1, 2, 3]
|
||||||
|
try:
|
||||||
|
some_list.remove(4)
|
||||||
|
|
||||||
|
except (IndexError, ValueError) as e:
|
||||||
|
print("Caught again!")
|
||||||
|
print(e)
|
||||||
|
```
|
||||||
|
**Результат:**
|
||||||
|
```
|
||||||
|
Caught again!
|
||||||
|
list.remove(x): x not in list
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
Loading…
Reference in New Issue
Block a user