英文:
how to create an exception inside a flutter for loop
问题
我需要for循环中的项目执行某个操作,除了最后一个项目,它将执行不同的操作。
一个不起作用的示例:
for (var i = 0; i < 10; i++) {
print('1 - 9');
if (i === 9) {
print('last item');
}
}
英文:
I need the items inside a for to have an action with the exception of the last one, which will have a different action
an example that DOESN'T WORK:
for (var i = 0; i < 10; i++) {
print('1 - 9');
if (i.last) {
print('last item');
}
}
答案1
得分: 1
尝试这个:
for (var i = 0; i < 10; i++) {
print('0 - 8');
if (i == 9) {
print('last item');
}
}
英文:
Try this:
for (var i = 0; i < 10; i++) {
print('0 - 8');
if (i == 9) {
print('last item');
}
}
答案2
得分: 1
你可以尝试这样做
for (var i = 0; i < 10; i++) {
print('1 - 9');
if (i == 9) {
print('last item');
throw Exception("Your message");
}
}
英文:
you can try this
for (var i = 0; i < 10; i++) {
print('1 - 9');
if (i==9) {
print('last item');
throw Exception("Your message");
}
}
答案3
得分: 1
这也是可能的,你可以将这段代码粘贴到DartPad中,并进行测试。
void main() {
try {
for (var i = 0; i < 10; i++) {
if (i == 3) {
print('item $i');
throw 'customError';
} else {
print('item $i');
}
}
} catch (e) {
if (e == 'customError') {
print('你捕获了自定义错误 \n $e');
} else {
print('你捕获了其他错误');
}
}
}
希望这对你有所帮助。
英文:
This is also possible, you can just paste the snippet in DartPad and play with it
void main() {
try {
for (var i = 0; i < 10; i++) {
if (i == 3) {
print('item $i');
throw 'customError';
} else {
print('item $i');
}
}
} catch (e) {
if (e == 'customError') {
print('You caught your custom error \n $e');
} else {
print('You caught some other error');
}
}
}
Hope that will help
答案4
得分: 1
你可以将方法放在for循环的条件部分。以下是一个示例:
void main() {
const limit = 10;
for(int i = 0;
() {
if(i < limit && i < limit-1) {
doActionA(i);
return true;
}
else if(i < limit){
doActionB(i);
return true;
}
return false;
}()
; i++);
}
void doActionA(int i){
print('Not last $i');
}
void doActionB(int i) {
print('last $i');
}
输出
Not last 0
Not last 1
Not last 2
Not last 3
Not last 4
Not last 5
Not last 6
Not last 7
Not last 8
last 9
英文:
You can put method in the condition part of the for loop. Here is such example:
void main() {
const limit = 10;
for(int i =0 ;
() {
if(i < limit && i < limit-1) {
doActionA(i);
return true;
}
else if(i < limit){
doActionB(i);
return true;
}
return false;
}()
; i++);
}
void doActionA(int i){
print('Not last $i');
}
void doActionB(int i) {
print('last $i');
}
output
Not last 0
Not last 1
Not last 2
Not last 3
Not last 4
Not last 5
Not last 6
Not last 7
Not last 8
last 9
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论