1. 程式人生 > >ios 用正則獲取需要的內容出現閃退(異常捕捉 try...catch...finally使用。)

ios 用正則獲取需要的內容出現閃退(異常捕捉 try...catch...finally使用。)

1.用正則表示式取出需要的字串( @".\$([A-Za-z0-9]{13})\$.||.\#([A-Za-z0-9]{13})\#.||.\([A-Za-z0-9]{13})\.||.\%([A-Za-z0-9]{13})\%.||.\€([A-Za-z0-9]{13})\€."

有些機型發現閃退用 異常捕捉 try…catch…finally使用

for (NSString *regex in self.commandRegex)
{
if (![CMBCBLStringUtil strNilOrEmpty:regex])
{
NSRegularExpression *regexExp = [NSRegularExpression regularExpressionWithPattern:regex
options:NSRegularExpressionCaseInsensitive
error:nil];
NSArray *matches = [regexExp matchesInString:aString
options:0
range:NSMakeRange(0, aString.length)];
NSTextCheckingResult *result = [matches objectAtIndex_cmbc:0];
if (result)
{
NSRange range = [result rangeAtIndex:1];

            // 生產環境部分裝置發生閃退
            @try {
                self.commandString = [aString substringWithRange:range];
            } @catch (NSException *exception) {
                self.commandString = @"";
            } @finally {
                
            }
            break;
        }
    }
}

對異常的解釋


@try {
    // 可能會出現崩潰的程式碼
} @catch (NSException *exception) {
    // 捕獲到的異常exception
 
    // 丟擲異常
    @throw exception
} @finally {
    // 結果處理
}