问题标签 [do-catch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - Do-Catch 和溢出
我如何包装do
catch
溢出错误
但是,如果我在部分有错误,do
我将无法进入catch
并导致我的应用程序崩溃
UPD:这不是关于如何获得 var 偏移量,问题是如何处理错误?
swift - 手动 go to catch 语句 do...catch
我想测试一个数组的计数是否大于 0,否则关闭当前视图。
现在我正在这样做:
我想知道如果计数不大于0,我是否可以手动将其发送do..catch
到catch
,这样我就不必self.dismiss(animated: true, completion: nil)
写两次了。有人知道这是否可能吗?
swift - do 语句
假设这是我们从模型中删除对象的函数:
问题:
如果抛出错误,则执行转移到catch
子句。那很好。但是语句(其余代码,取消通知和重新加载 tableView)会发生什么?这些语句仍然是可执行的还是简单地忽略?
swift - 在 do/catch 块中引用变量时使用未解析的标识符
我在do
/catch
块中分配一个变量,然后尝试在我的文件中进一步引用该变量。但是当我这样做时,我在 Xcode 中收到以下错误:
使用未解析的标识符“captureDeviceInput”
这是我的代码:
Xcode 似乎无法识别该captureDeviceInput
变量。我能做些什么来解决这个问题?
ios - 何时使用 Swift 使用 do-catch 块
在从文件中读取 JSON 数据的以下场景中,我有以下代码块:
这段代码本身是否正确,或者将其包含在 do-catch 块中是否会更好?我之所以问,是因为我在使用 URLSession 从 Web 中提取数据时看到了一些场景,开发人员在其中执行 JSONSerialization 在 do-catch 块内。是否有理由在使用 URLSession 时这样做,而不是在简单地从文件中提取 JSON 数据时这样做?这样的事情的最佳做法是什么?
swift - Swift如何从条件绑定必须具有可选类型的do catch返回元组?
我想把一个 swift 3do-catch
放在一个函数中,而不是在我需要的地方不断地写它;在这个函数中,我希望返回tuple
一个布尔值和一个可选错误。
我正在尝试从函数返回一个元组并在我的 XCTest 中处理结果
但是,我收到一条错误消息:
条件绑定的初始化程序必须具有 Optional 类型,而不是 '(Bool, Error?)'(又名 '(Bool, Optional)')
我的功能如下;
我的canBePurchased
代码有点长,但它是这样的:
在我的 XCTest 中,我这样称呼它:
我试图强制转换:
if let result: (Bool, Error?) ...
但这只会将编译器错误降级为警告。
编译器显示上述错误。
我在什么方面做错了,Initializer for conditional binding must have Optional type
我该如何避免?
谢谢
swift - 嵌套 do catch swift 3.0
我想使用连续的 try 语句。如果一个返回错误,我想继续下一个,否则返回值。下面的代码似乎工作正常,但是我最终会得到一个大的嵌套 do catch 金字塔。在 Swift 3.0 中有更聪明/更好的方法吗?
swift - 捕获模式更改回调签名
我正在尝试JSONDecoder
使用 Alamofire 解码来自我的服务器的 json 响应。当我用 a 解码响应时guard
,它可以正常工作。这种方法的副作用是,当解码实际失败时,我不知道问题出在哪里。
所以相反,我想使用 ado { } catch { }
但我无法弄清楚我应该如何在 AlamofireresponseJSON
回调中使用它。
这是我目前得到的:
然而,这段代码给我的是一个编译器错误.responseJSON { (response) -> Void in
。
从“(_) -> Void”类型的抛出函数到非抛出函数类型“(DataResponse) -> Void”的无效转换。
保护代码工作正常,如果我将其更改try
为 atry?
或强制展开,它会编译 - 我只是无法让我的 catch 处理实际错误。
如果我更改catch
块以使其不包含任何模式,则代码将编译。
这并没有给我任何我给我的东西guard
。我真的很想捕获操作遇到的错误decode
。我使用了错误的模式吗?为什么使用该DecodingError.dataCorrupted
模式似乎会改变回调签名?
swift - 在哪里写try语句?
在变量之前或之后写 try 有什么区别?我的意思是:
和这个:
他们都工作我只是好奇。
swift - 从 do-catch 语句返回字符串
我试图将代码从 swift 2 转换为 swift 4 并遇到此错误
不处理从这里抛出的错误
所以我这样做了,但现在它告诉我返回一个字符串。知道怎么做吗?
这是原始功能的样子