NSInteger myInt = 1804809223;
NSLog(@"%i", myInt); <====
Run Code Online (Sandbox Code Playgroud)
上面的代码产生错误:
Values of type "NSInteger" should not be used as format arguments: add an explicit cast to 'long' instead.
Run Code Online (Sandbox Code Playgroud)
正确的NSLog消息实际上NSLog(@"%lg", (long) myInt);为什么我要将myInt的整数值转换为long,如果我想要显示该值?
异常发生的一般原因是什么?出现异常时,程序是立即终止还是继续运行?
我猜@try是我正在测试的程序消息.是对的吗?
@catch之后要么记录错误信息,要么清理等等,@ final块会做什么?我正在阅读的书中说@finally确定@try中的语句是否会引发异常.但这不是一个不必要的步骤,因为有或没有它,我们可以判断是否存在基于程序突然终止的异常?
什么是投掷指令?这些书说它可以让你抛出自己的异常.但我发现这真的令人困惑.这是否意味着我可以以某种方式创建一个例外并测试它?
如果你能为我回答至少一个问题,我将非常感激.谢谢.