我原来有以下代码
overrIDe func vIEwDIDLoad(){ var obj : Object?; Hi( obj );}
但它会产生错误
func Hi( open : Open? ) -> Open?{ open!.Hi(); <-- here is error point. Fatal error ! print( "OK" ); return open;}
因此我将vIEwDIDLoad()中的代码更改为:
overrIDe func vIEwDIDLoad(){ try { var obj : Object?; Hi( obj ); } catch { print( "BUG !!!" ); <- I want to this !!! }}
但它不起作用!
我猜swift的try-catch与C,C#不同.
我怎样才能发现致命错误?
可能以下是适当的快速方式吗?
func Hi( open : Open? ) -> Open?{ if let op = open { op.Hi(); print( "OK" ); return open; } else { return nil; }}解决方法 你不应该抓住fatalerror.它表示编程错误.您没有发现编程错误,修复了代码.崩溃是故意的,你故意不能阻止它.
涉及关键字try,catch和throw的东西在Swift 2中可用,但这与您似乎正在考虑的C异常完全不同.
总结以上是内存溢出为你收集整理的ios – swift可以捕获致命错误?全部内容,希望文章能够帮你解决ios – swift可以捕获致命错误?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)