https://www.jianshu.com/p/526dfd5cbb19
NSAssert是一个预处理宏, 他的主要作用就是可以让开发者比较便捷的捕获一个错误, 让程序崩溃, 同时报出错误提示
使用方法:
NSAssert(x != nil, @"错误提示")
一些注意点
NSAssert2(condition, desc, arg1, arg2)
发布版本
NS_BLOCK_ASSERTIONS
使用效果如下
2016-08-04 11:58:55.225 NSAssert[4215:68280] *** Terminating app due to uncaught exception ‘NSInternalInconsistencyException‘, reason: ‘提示10, 20‘
*** First throw call stack:
(
0 CoreFoundation 0x000000010c0fce65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010bb75deb objc_exception_throw + 48
2 CoreFoundation 0x000000010c0fccca +[NSException raise:format:arguments:] + 106
3 Foundation 0x000000010b7c24de -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
4 NSAssert 0x000000010b6777f0 -[ViewController viewDidLoad] + 336
5 UIKit 0x000000010c63ff98 -[UIViewController loadViewIfRequired] + 1198
6 UIKit 0x000000010c6402e7 -[UIViewController view] + 27
7 UIKit 0x000000010c516ab0 -[UIWindow addRootViewControllerViewIfPossible] + 61
8 UIKit 0x000000010c517199 -[UIWindow _setHidden:forced:] + 282
9 UIKit 0x0000000119d4c831 -[UIWindowAccessibility _orderFrontWithoutMakingKey] + 68
10 UIKit 0x000000010c528c2e -[UIWindow makeKeyAndVisible] + 42
11 UIKit 0x000000010c4a1663 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4131
12 UIKit 0x000000010c4a7cc6 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1760
13 UIKit 0x000000010c4a4e7b -[UIApplication workspaceDidEndTransaction:] + 188
14 FrontBoardServices 0x000000010ee75754 -[FBSSerialQueue _performNext] + 192
15 FrontBoardServices 0x000000010ee75ac2 -[FBSSerialQueue _performNextFromRunLoopSource] + 45
16 CoreFoundation 0x000000010c028a31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17 CoreFoundation 0x000000010c01e95c __CFRunLoopDoSources0 + 556
18 CoreFoundation 0x000000010c01de13 __CFRunLoopRun + 867
19 CoreFoundation 0x000000010c01d828 CFRunLoopRunSpecific + 488
20 UIKit 0x000000010c4a47cd -[UIApplication _run] + 402
21 UIKit 0x000000010c4a9610 UIApplicationMain + 171
22 NSAssert 0x000000010b677b3f main + 111
23 libdyld.dylib 0x000000010e83892d start + 1
24 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
原文:https://www.cnblogs.com/sundaysgarden/p/10694321.html