Если какой-то код возвращает будущее и определяет, что будущее должно возвращать «Ошибка» или «Исключение», как можно передать трассировку стека в Completer.completeException(exception, stackTrace);
Как получить текущую трассировку стека в Dart для Completer.CompleteException (исключение, stackTrace);
Ответы (2)
Если я правильно понял: когда вы ловите исключение в dart, вы также можете поймать трассировку стека:
try {
// something
} catch(e, stacktrace) {
myCompleter.completeException(e, stacktrace);
}
person
John Evans
schedule
20.12.2012
Чтобы добавить к этому, если у вас нет текущего исключения, просто добавьте его в блок try и поймайте его самостоятельно.
- person Justin Fagnani; 20.12.2012
Привет, Адам, это звучит как неплохой ответ. Вы можете поставить зеленую галочку :)
- person Shannon -jj Behrens; 20.12.2012
Ответ Джона правильный, ответ, который я искал, принадлежит Джастину.
- person adam-singer; 21.12.2012
@JustinFagnani, почему бы вам не пойти дальше и не дать отдельный ответ, поскольку он был ближе к тому, что искал Адам. :)
- person John Evans; 21.12.2012
Если вы не попали в ловушку, вы можете использовать StackTrace.current
person
cambunctious
schedule
05.06.2018
Это полезно, если вам нужно получить трассировку стека из любого произвольного места, но если вы находитесь внутри блока
catch
, выбранный ответ лучше, поскольку Dart уже предоставляет вам StackTrace
.
- person Abion47; 30.01.2019