Tag: try catch

Swift 2.0exception处理

我们想知道整个SWIFT代码块的error handling机制。 因为,在迅速,有一些技术用于error handling,其中一些就像使用guard或if let 。 我们也可以使用do – catch语句来实现它。 但是我们在使用单个try-catch块来处理大量代码时遇到了困难,就像我们在Objective-C中所做的那样。 在Objective-C这个块很容易处理任何代码行中的错误。 所以我们想迅速地知道这种机制。 现在,我们知道如果我们需要处理错误,那么对每行使用guard , if-let语句,或者编写一些自定义的方法来抛出错误,并在do-catch块中使用该方法。 那么Swift中有没有什么机制可以像Objective-C一样与try-catch块并行,所以我们不需要为整行代码中的每一行代码编写if-let或guard语句。 这就是我们如何使用if-let和guard让单行声明为null处理: if-let实现示例代码片段: – if let title = dict["title"].string { let myTitle = title } 但是下面提到了我们希望在代理函数中用于try-catch块的swift解决scheme。 Objective-C使用try-catch块的示例代码片段 – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { @try { static NSString *itemIdentifier = @"CustomCell"; //Some line of code where exception may occur… //Some […]

我如何得到Swift 2.0中的错误信息?

我在Swift 1.2中使用了这个方法: NSURLConnection.sendSynchronousRequest(:_:_:_)但是在iOS9中显然不推荐使用。 它仍然有效,但现在它使用新的Swift 2.0error handling,我不知道如何得到错误信息,如果失败,例如。 如果时间用完。 我知道我必须把它变成一个do-catch,然后在方法之前说出来,但我不知道如何捕获错误信息。 do { let data = try NSURLConnection.sendSynchronousRequest(request, returningResponse: nil) return data } catch _ { return nil } 之前我用NSError,然后是它的描述属性,但现在我不知道。

iOS中的例外Handeling

阅读文档并通过Apple示例代码(以及大部分可用的第三方Objective-C代码),我觉得您不应该使用try / catch和“traditional / C”来做exception处理,方法。 最近我正在阅读亚马逊AWS iOS SDK,并注意到他们已经使用了旧的方法。 这对我来说是一种解脱,因为我总是觉得我需要确保在使用别人编写的代码或二进制库(我的意思是Google Analytics二进制文件等)时特别注意这个exception。 我的问题是,是否有任何理由避免iOS上的“传统”exception处理“,或者这不是一个有品位的Objective-C实践?

为什么Objective-C中的“try catch”会导致内存泄漏?

我正在考虑Objective-C中Try-Catch的优缺点。 根据这篇文章解决NSException在iOS的神话:我们可以使用@ try … @ catch,@finally? ,try-catch没有那么糟糕,除了在ARC中泄漏内存。 那么try-catch如何导致内存泄漏?