|
1 | 1 | # Ранний выход
|
2 | 2 |
|
3 |
| -В предыдущем примере мы явно обработали ошибки при помощи комбинаторов. |
4 |
| -Другой способ сделать это - использовать комбинацию выражения |
5 |
| -`match` и *раннего выхода*. |
| 3 | +В предыдущем примере мы явно обработали ошибки при помощи комбинаторов. Другой способ сделать это - использовать комбинацию выражения `match` и *раннего выхода*. |
6 | 4 |
|
7 |
| -Таким образом мы просто можем остановить работу функции и |
8 |
| -вернуть ошибку, если она произошла. Для некоторых, такой код |
9 |
| -будет легче в чтении и написании. Посмотрите код из предыдущего |
10 |
| -примера, переписанный с использованием раннего выхода: |
| 5 | +Таким образом мы просто можем остановить работу функции и вернуть ошибку, если она произошла. Для некоторых, такой код будет легче в чтении и написании. Посмотрите код из предыдущего примера, переписанный с использованием раннего выхода: |
11 | 6 |
|
12 | 7 | ```rust,editable
|
13 | 8 | use std::num::ParseIntError;
|
@@ -39,10 +34,6 @@ fn main() {
|
39 | 34 | }
|
40 | 35 | ```
|
41 | 36 |
|
42 |
| -На данный момент, мы изучили обработку ошибок при помощи |
43 |
| -комбинаторов и раннего выхода. Мы хотим избежать паники, но |
44 |
| -явная обработка всех ошибок достаточно громоздка. |
| 37 | +На данный момент, мы изучили обработку ошибок при помощи комбинаторов и раннего выхода. Мы хотим избежать паники, но явная обработка всех ошибок достаточно громоздка. |
45 | 38 |
|
46 |
| -В следующем разделе, мы познакомимся с `?` для |
47 |
| -случаев, где нам просто хотим сделать `unwrap` без |
48 |
| -возможности вызова `panic`. |
| 39 | +В следующем разделе, мы познакомимся с `?` для случаев, где нам просто хотим сделать `unwrap` без возможности вызова `panic`. |
0 commit comments