获取异常'NSRangeException'

Posted

技术标签:

【中文标题】获取异常\'NSRangeException\'【英文标题】:Getting Exception 'NSRangeException'获取异常'NSRangeException' 【发布时间】:2012-04-11 10:30:37 【问题描述】:

我在下面的方法中得到了 substringWithRange:range 的异常。

我正在使用禁用编辑的文本视图。

我仅将文本字段用于文本选择。 当我第一次选择文本时也不例外,但是当我第二次按下它时。

例外: 'NSRangeException',原因:'* -[NSCFString substringWithRange:]:范围或索引超出范围'。

- (void)textViewDidChangeSelection:(UITextView *)textView 

NSRange range = [tv selectedRange];
str = [tv.text substringWithRange:range];

【问题讨论】:

【参考方案1】:

我已经检查了您的示例。有时您检索一个未定义的范围,例如 (2147483647, 0)。因此,请检查它以避免崩溃:

- (void)textViewDidChangeSelection:(UITextView *)textView 
    NSRange range = [textView selectedRange];
    if(range.length == 0 || range.location > textView.text.length)
        return;

    NSString *str = [textView.text substringWithRange:range];

【讨论】:

以上是关于获取异常'NSRangeException'的主要内容,如果未能解决你的问题,请参考以下文章

关于获取java异常的方法

Python中获取异常(Exception)信息

Inno Setup:如何获取引发异常的异常代码?

qq音乐网络异常获取音频失败怎么办

获取异常'NSRangeException'

android中如何获取超时时长的异常