作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的iOS(iPhone / cocos2d)项目中,我发现自己抛出的异常不会导致应用终止(它们只会导致当前函数退出,从而导致奇怪的半冻结行为)。例如,以下代码将导致崩溃:
NSArray* testArray = [NSArray arrayWithObjects:@"One", @"Two", @"Three", nil];
[testArray objectAtIndex:400];
2011-06-07 12:55:20.421 mansion-iphone[38184:207] *** Terminating app due to
uncaught exception 'NSRangeException', reason: '*** -[NSArray
objectAtIndex:]: index 400 beyond bounds [0 .. 2]'
NSException* e = [NSException exceptionWithName:NSInternalInconsistencyException
reason:[NSString stringWithFormat:@"%s %@", __PRETTY_FUNCTION__,
[NSString stringWithFormat:@"Invalid argument"]] userInfo:nil];
[e raise];
最佳答案
自定义异常应该与其他异常一样工作,并且我能够在自己的测试应用程序中对此进行验证。一些要检查的东西:
NSSetUnhandledExceptionHandler
,以捕获所有未处理的异常。 关于iphone - 我的Objective-C异常不会导致我的应用终止,但是苹果公司会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6271334/
我是一名优秀的程序员,十分优秀!