Fix docs C++ snippet for the .fail() args

- Fix the wrong lambda format (missing `[]`).
- Make consistent argument naming (`error`).
- Use `const &` when appropriated.
This commit is contained in:
Simon Brunel 2020-01-04 13:05:09 +01:00
parent 3c1461b8d0
commit cc29ef3512
10 changed files with 25 additions and 22 deletions

View File

@ -7,7 +7,7 @@ canceled (e.g. using [`QFuture::cancel()`](http://doc.qt.io/qt-5/qfuture.html#ca
```cpp ```cpp
auto output = QtPromise::resolve(future) auto output = QtPromise::resolve(future)
.fail([](const QPromiseCanceledException&) { .fail([](const QPromiseCanceledException& error) {
// `future` has been canceled! // `future` has been canceled!
}); });
``` ```

View File

@ -8,7 +8,7 @@ This is the default exception thrown when reaching the time limit when using the
```cpp ```cpp
QPromise<int> input = {...} QPromise<int> input = {...}
auto output = input.timeout(2000) auto output = input.timeout(2000)
.fail([](const QPromiseTimeoutException& e) { .fail([](const QPromiseTimeoutException& error) {
// operation timed out after 2s! // operation timed out after 2s!
}); });
``` ```

View File

@ -90,9 +90,9 @@ download(url).then(&uncompress).then([](const Entries& entries) {
// {...} process entries // {...} process entries
}).finally([]() { }).finally([]() {
// {...} cleanup // {...} cleanup
}).fail([](QNetworkReply::NetworkError err) { }).fail([](QNetworkReply::NetworkError error) {
// {...} handle network error // {...} handle network error
}).fail([](const UpdateException& err) { }).fail([](const UpdateException& error) {
// {...} handle update error // {...} handle update error
}).fail([]() { }).fail([]() {
// {...} catch all // {...} catch all

View File

@ -41,7 +41,7 @@ auto output = process(url);
// 'output' type: QPromise<QByteArray> // 'output' type: QPromise<QByteArray>
output.then([](const QByteArray& res) { output.then([](const QByteArray& res) {
// {...} // {...}
}).fail([](const InvalidUrlException& err) { }).fail([](const InvalidUrlException& error) {
// {...} // {...}
}); });
``` ```

View File

@ -42,9 +42,9 @@ auto output = QtPromise::connect(sender, &Sender::finished, &Sender::error);
// 'output' type: QPromise<QByteArray> // 'output' type: QPromise<QByteArray>
output.then([](const QByteArray& res) { output.then([](const QByteArray& res) {
// 'res' is the first argument of the 'finished' signal. // 'res' is the first argument of the 'finished' signal.
}).fail([](ErrorCode err) { }).fail([](ErrorCode error) {
// 'err' is the first argument of the 'error' signal. // 'error' is the first argument of the 'error' signal.
}).fail([](const QPromiseContextException& err) { }).fail([](const QPromiseContextException& error) {
// the 'sender' object has been destroyed before any of // the 'sender' object has been destroyed before any of
// the 'finished' or 'error' signals have been emitted. // the 'finished' or 'error' signals have been emitted.
}); });

View File

@ -10,16 +10,19 @@ title: .fail
QPromise<T>::fail(Function onRejected) -> QPromise<T> QPromise<T>::fail(Function onRejected) -> QPromise<T>
``` ```
Shorthand to `promise.then(nullptr, onRejected)`, similar to the [`catch` statement](http://en.cppreference.com/w/cpp/language/try_catch): Shorthand to [`promise.then(nullptr, onRejected)`](then.md) for handling errors in promise chains,
similar to the native C++ [`catch` statement](http://en.cppreference.com/w/cpp/language/try_catch):
```cpp ```cpp
promise.fail([](const MyException&) { promise.fail([](const MyException& error) {
// {...} // {...}
}).fail(const QException&) { }).fail([](const QException& error) {
// {...} // {...}
}).fail(const std::exception&) { }).fail([](const std::exception& error) {
// {...} // {...}
}).fail() { }).fail([]() {
// {...} catch-all // {...} catch-all
}); });
``` ```
See also: [`QPromise::then`](then.md)

View File

@ -17,12 +17,12 @@ rejected with the new exception.
```cpp ```cpp
QPromise<int> input = {...} QPromise<int> input = {...}
auto output = input.tapFail([](Error err) { auto output = input.tapFail([](const Error& error) {
log(err); log(error);
}).then([](int res) { }).then([](int res) {
return process(res); return process(res);
}).fail([](Error err) { }).fail([](const Error& error) {
handle(err); handle(error);
return -1; return -1;
}); });
``` ```

View File

@ -21,7 +21,7 @@ auto output = input.timeout(2000)
.then([](int res) { .then([](int res) {
// operation succeeded within 2 seconds // operation succeeded within 2 seconds
}) })
.fail([](const QPromiseTimeoutException& e) { .fail([](const QPromiseTimeoutException& error) {
// operation timed out! // operation timed out!
}); });
``` ```

View File

@ -67,7 +67,7 @@ promise.then([](int res) {
return QString("42"); return QString("42");
}); });
}).fail(const CustomException& err) { }).fail([](const CustomException& error) {
// {...} // {...}
}); });
``` ```

View File

@ -53,7 +53,7 @@ auto output = QtPromise::connect(obj, &Object::finished, &Object::error);
// output type: QPromise<QByteArray> // output type: QPromise<QByteArray>
output.then([](const QByteArray& data) { output.then([](const QByteArray& data) {
// {...} // {...}
}).fail(const ObjectError& error) { }).fail([](const ObjectError& error) {
// {...} // {...}
}); });
``` ```
@ -69,7 +69,7 @@ auto output = QtPromise::connect(obj, &Object::finished, &Object::error);
// output type: QPromise<QByteArray> // output type: QPromise<QByteArray>
output.then([]() { output.then([]() {
// {...} // {...}
}).fail(const QPromiseUndefinedException& error) { }).fail([](const QPromiseUndefinedException& error) {
// {...} // {...}
}); });
``` ```
@ -84,7 +84,7 @@ auto output = QtPromise::connect(objA, &ObjectA::finished, objB, &ObjectB::error
// output type: QPromise<QByteArray> // output type: QPromise<QByteArray>
output.then([](const QByteArray& data) { output.then([](const QByteArray& data) {
// {...} // {...}
}).fail(const ObjectBError& error) { }).fail([](const ObjectBError& error) {
// {...} // {...}
}); });
``` ```