草庐IT

try-catch-repeat

全部标签

swift 3 : How to catch error if NSCoder decodeX function decodes wrong value type?

Swift3改变了NSCoder的工作方式。正如其他SO问题所提到的,要解码Int或Bool等值类型,您必须使用特定函数。例如,decodeInteger用于解码Int值,如下所示:letvalue=decodeInteger(forKeykey:TestKey)但是,如果decodeInteger返回的值是String或Bool或Int以外的值怎么办?或者如果TestKey实际上映射为空,因为它包含错误的key数据怎么办?如何优雅地捕获这些错误? 最佳答案 在非整数键上使用decodeInteger会引发异常。遗憾的是,这是一个S

swift -/usr/bin/ld : cannot find -lstdc++ for Ubuntu while trying to "swift build" Perfect2 project

描述:我已按照Swift3的安装步骤进行操作和Perfect2我克隆了PerfectTemplatePerfect提出的测试项目,我试过swiftbuild错误信息:warning:minimumrecommendedclangisversion3.6,otherwiseyoumayencounterlinkererrors.Linking./.build/debug/PerfectTemplate/usr/bin/ld:cannotfind-lstdc++clang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation

ios - swift 2 : error when try to find with indexOf

在全局变量部分我有这个声明varfriends:NSArray=NSMutableArray()//becauseiusethemtosharedataintotwosegues这是我的tableView函数的起始代码:overridefunctableView(tableView:UITableView,didSelectRowAtIndexPathindexPath:NSIndexPath){self.tableView.deselectRowAtIndexPath(indexPath,animated:true)letcell:UITableViewCell=tableView.

ios - 错误 "Call can throw, but is not marked with ' try' 错误未被处理”

这段代码出错“调用可以抛出,但没有标上‘try’,错误未被处理”我正在使用Xcode7.1最新的beta和swift2.0funccheckUserCredentials()->Bool{PFUser.logInWithUsername(userName!,password:password!)if(PFUser.currentUser()!=nil){returntrue}returnfalse 最佳答案 Swift2.0引入了errorhandling.该错误表明logInWithUsername:password:可能会引发错

ios - swift fatal error : 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=3840 "Garbage at end."

我的swift程序一直有这个错误,我正在使用PHP和MySQL作为数据库。我要将数据从数据库显示到TableView。之前是可以的,但是在模拟器上运行了几次之后,我一直遇到同样的错误classHome:UIViewController,UITableViewDelegate,UITableViewDataSource{@IBOutletweakvarbtnaddclass:UIButton!@IBOutletvartableView:UITableView!varvalues:NSArray=[]funcget(){leturl=NSURL(string:"http://localho

iOS Swift : Trying to use write image buffer to construct video, 未调用 finishWritingWithCompletionHandler。输出视频包含零字节

我试图只从静态图像中写入两帧来构建视频。我一直在绕过时间参数。似乎最后一步finishWritingWithCompletionHandler从未被调用(完成写入......永远不会输出)。只创建了一个零字节.mp4视频。并且没有发生错误。不知道为什么。这是我使用的代码:funccreateBackgroundVideo(CompletionHandler:(path:String)->Void){varmaybeError:NSError?letfileMgr=NSFileManager.defaultManager()letdocDirectory=NSHomeDirectory(

ios - Firebase 商店 : trying to store to local file gives an error

当我尝试按照文档中的示例从Firebase存储中存储文件时,我收到以下错误:Optional(ErrorDomain=FIRStorageErrorDomainCode=-13000"Anunknownerroroccurred,pleasechecktheserverresponse."UserInfo={object=ProfilePicture/Jf2dFzI7LZNzQkOkdFfa3UWQJyH2.jpg,bucket=mapit-1333.appspot.com,NSLocalizedDescription=Anunknownerroroccurred,pleasechec

swift - 如何在 Swift 中使用 try-catch?

我了解了如何创建自己的错误并使用throws关键字在Swift中触发它们。我不明白的是如何复制在其他语言(或Rubyrescue)中发现的常规try-catch以处理未处理的异常。示例(在Swift中):funcdivideStuff(a:Int,by:Int)->Int{returna/by}letnum=divideStuff(4,by:0)//divideby0exception例如,这是我在C#中处理它的方式:intDivideStuff(inta,intb){intresult;try{result=a/b;}catch{result=0;}returnresult;}如何使

objective-c - Swift Catch 运行时异常

我正在对一个应用程序运行模糊测试,因此我专门寻找未处理的运行时错误。该应用程序是用ObjC和Swift编写的,但单元测试是用Swift编写的。我理解swift的基础不是捕捉任意运行时异常,但这纯粹是为了单元测试。我如何捕获运行时这些异常(即索引越界等) 最佳答案 为了在Swift中捕获Obj-C异常,我使用了一个简单的Obj-C类:#import"ObjC2Swift.h"@implementationObjC+(id)catchException:(id(^)())tryBlockerror:(__autoreleasingNSE

swift - let 在 catch 表达式中的作用是什么?

在《theswiftprogramminglanguage》一书中,他们有如下例子funcmakeASandwich()throws{//...}do{trymakeASandwich()eatASandwich()}catchSandwichError.outOfCleanDishes{washDishes()}catchSandwichError.missingIngredients(letingredients){buyGroceries(ingredients)}我想知道的是这条线catchSandwichError.missingIngredients(letingredie