当前位置: 首页 > 面试题库 >

Swift中的try-catch异常

喻昀
2023-03-14
问题内容

可以在Swift中捕获异常吗?给出以下代码:

NSException.raise(NSRangeException,
    format: "Now you've gone too far!",
    arguments: CVaListPointer(fromUnsafePointer: UnsafePointer()))

是否可以防止异常导致整个程序崩溃?也就是说,Objective-C中的Swift等效于什么:

@try {
    [NSException raise:NSRangeException format:@"Now you've gone too far!"];
}

问题答案:

它没有异常处理,并且在开发人员论坛中的讨论讨论了为什么会这样:

但请记住,可可和可可触控传统上并不打算让您捕获异常。他们打算让您不要将它们放在首位。普通错误应使用可选类型和inout
NSError参数处理;您应该通过编写更好的代码来解决任何导致断言失败的情况(这似乎是Swift中唯一的异常抛出机制)。



 类似资料:
  • 问题内容: 我尝试理解Swift 2中新的错误处理方法。这是我做的:我首先声明了一个错误枚举: 然后我声明了一个引发错误的方法(伙计们不是异常。这是一个错误。)。这是该方法: 问题出在呼叫方。这是调用此方法的代码: 之后,行编译器说。但是我认为这是详尽无遗的,因为枚举中只有两种情况。 对于常规的switch语句,swift可以理解,在处理每种情况时,它都是详尽的。 问题答案: Swift 2错误处

  • 我有一个使用JSoup连接和解析网站数据的程序。当网站在我给出的10秒超时后无法连接时,JSoup方法会抛出一个Uncheck edIOException。这可能包含一个IOException,例如“SSL Peer意外关闭”或“超时”,这是我过去处理过的IOExceptions。这很奇怪,因为它包含一个try catch: 我已经做了各种变通方法,比如在try-catch中包装该方法,使该方法抛

  • 问题内容: arowmy初始化工作正常斯威夫特<2,但是在斯威夫特2我在Xcode得到一个错误信息的。我认为我无法使用try catch块,因为此时super尚未初始化。“尝试”需要一个抛出的函数。 这是我的功能: Xcode的意思是: 但我不知道要按照此文档正确思考https://developer.apple.com/library/content/documentation/Swift/Co

  • 本文向大家介绍php中try catch捕获异常实例详解,包括了php中try catch捕获异常实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中try catch捕获异常。分享给大家供大家参考。具体方法分析如下: php中try catch可以帮助我们捕获程序代码的异常了,这样我们可以很好的处理一些不必要的错误了,感兴趣的朋友可以一起来看看。 PHP中try{}catch

  • 本文向大家介绍SQL Server 2005 中使用 Try Catch 处理异常,包括了SQL Server 2005 中使用 Try Catch 处理异常的使用技巧和注意事项,需要的朋友参考一下 TRY...CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try.. Catch功能. * TRY 块 - 包含可能产生异常的

  • 本文向大家介绍multi-catch和try-catch异常处理知识点详解,包括了multi-catch和try-catch异常处理知识点详解的使用技巧和注意事项,需要的朋友参考一下 multi-catch属于JDK1.7之后出现的,举例如下: 如果使用try-catch,会有多个catch块,从里到外是之类异常和父类异常,但是使用了multi-catch之后只需要有一个catch块就可以了,括号