gpt4 book ai didi

iPhone 开发 : How to Catch Exception/NSError in Objective-C?

转载 作者:太空狗 更新时间:2023-10-30 03:28:03 26 4
gpt4 key购买 nike

我希望我的应用程序永远不会愚蠢地崩溃。我知道代码质量是解决这个问题的根本。但是我仍然需要一个应用程序在发生意外错误时永远不会崩溃。这是我想尝试的代码。

-(void)testException
{
@try
{
NSString* str;
[str release];
}
@catch(NSException* ex)
{
NSLog(@"Bug captured");
}
}

我知道这个不行。因为 release 永远不会引发异常。这是我的问题:

  1. 如何达到这种目标,bug会被捕获,不会崩溃?
  2. 我怎么知道哪个系统库会引发异常,这样我就可以编写一些代码并知道它有效?

这是我读到的内容

  • 一个。异常编程主题 Cocoa
  • b。错误处理编程
    cocoa 指南

我来自经验丰富的 Microsoft 程序员背景,捕获异常或意外异常总能防止我的程序在非常恶劣的环境中崩溃。

你们这些家伙/女孩(Mac 天才程序员)是如何让程序无崩溃的?分享您的经验。

最佳答案

Objective-C 是一个非托管运行时;您编译的代码直接在 CPU 上运行,而不是在虚拟机中运行。这意味着您没有监督层可以像在 .NET VM 或 JVM 中运行时那样捕获所有可能的故障模式。总而言之,要完全确定程序不会崩溃的唯一方法是非常仔细地编写代码并进行非常彻底的测试。即便如此,您也不确定,只是认为自己是。

最新版本的 Xcode 集成了 Clang 静态分析器(“构建”菜单中的“构建和分析”),可以识别某些类别的潜在错误——例如,我相当确定它会标记您上面的示例)。但是这里没有 Elixir 。唯一的解决办法是努力工作。

关于iPhone 开发 : How to Catch Exception/NSError in Objective-C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1215191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com