0

これが私の方法です:

- (IBAction)calculateButton:(id)sender {
    NSInteger dividend = 0;
    NSInteger divisor = 0;

    @try {
        dividend = [dividendField integerValue];
        divisor = [divisorField integerValue];
        [quotientField setIntegerValue: dividend / divisor]; //program crashes here
        [remainderField setIntegerValue: dividend % divisor];
    }

    @catch (NSException *exception) {
        NSAlert* alert = [[NSAlert alloc] init];
        [alert setMessageText: @"Error"];
        [alert setInformativeText: @"Invalid input!"];
        [alert runModal];
    }

}

私が理解した方法NSExceptionは、他のすべての例外が継承する一般的な例外ハンドラーです。@catch問題は、ブロックに入る代わりにプログラムがクラッシュするのはなぜですか? 私EXC_ARITHMETICの理解では、これはまだ例外です...では、なぜそれを@catchキャッチしないのですか?

4

1 に答える 1