问题标签 [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.

0 投票
1 回答
532 浏览

swift - Do-Catch 和溢出

我如何包装do catch溢出错误

但是,如果我在部分有错误,do我将无法进入catch并导致我的应用程序崩溃

UPD:这不是关于如何获得 var 偏移量,问题是如何处理错误

0 投票
3 回答
264 浏览

swift - 手动 go to catch 语句 do...catch

我想测试一个数组的计数是否大于 0,否则关闭当前视图。

现在我正在这样做:

我想知道如果计数不大于0,我是否可以手动将其发送do..catchcatch,这样我就不必self.dismiss(animated: true, completion: nil)写两次了。有人知道这是否可能吗?

0 投票
1 回答
737 浏览

swift - do 语句

假设这是我们从模型中删除对象的函数:

问题:

如果抛出错误,则执行转移到catch子句。那很好。但是语句(其余代码,取消通知和重新加载 tableView)会发生什么?这些语句仍然是可执行的还是简单地忽略?

0 投票
1 回答
213 浏览

swift - 在 do/catch 块中引用变量时使用未解析的标识符

我在do/catch块中分配一个变量,然后尝试在我的文件中进一步引用该变量。但是当我这样做时,我在 Xcode 中收到以下错误:

使用未解析的标识符“captureDeviceInput”

这是我的代码:

Xcode 似乎无法识别该captureDeviceInput变量。我能做些什么来解决这个问题?

0 投票
3 回答
1948 浏览

ios - 何时使用 Swift 使用 do-catch 块

在从文件中读取 JSON 数据的以下场景中,我有以下代码块:

这段代码本身是否正确,或者将其包含在 do-catch 块中是否会更好?我之所以问,是因为我在使用 URLSession 从 Web 中提取数据时看到了一些场景,开发人员在其中执行 JSONSerialization 在 do-catch 块内。是否有理由在使用 URLSession 时这样做,而不是在简单地从文件中提取 JSON 数据时这样做?这样的事情的最佳做法是什么?

0 投票
2 回答
453 浏览

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我该如何避免?

谢谢

0 投票
3 回答
2647 浏览

swift - 嵌套 do catch swift 3.0

我想使用连续的 try 语句。如果一个返回错误,我想继续下一个,否则返回值。下面的代码似乎工作正常,但是我最终会得到一个大的嵌套 do catch 金字塔。在 Swift 3.0 中有更聪明/更好的方法吗?

0 投票
1 回答
225 浏览

swift - 捕获模式更改回调签名

我正在尝试JSONDecoder使用 Alamofire 解码来自我的服务器的 json 响应。当我用 a 解码响应时guard,它可以正常工作。这种方法的副作用是,当解码实际失败时,我不知道问题出在哪里。

所以相反,我想使用 ado { } catch { }但我无法弄清楚我应该如何在 AlamofireresponseJSON回调中使用它。

这是我目前得到的:

然而,这段代码给我的是一个编译器错误.responseJSON { (response) -> Void in

从“(_) -> Void”类型的抛出函数到非抛出函数类型“(DataResponse) -> Void”的无效转换。

保护代码工作正常,如果我将其更改try为 atry?或强制展开,它会编译 - 我只是无法让我的 catch 处理实际错误。

如果我更改catch块以使其不包含任何模式,则代码将编译。

这并没有给我任何我给我的东西guard。我真的很想捕获操作遇到的错误decode。我使用了错误的模式吗?为什么使用该DecodingError.dataCorrupted模式似乎会改变回调签名?

0 投票
0 回答
29 浏览

swift - 在哪里写try语句?

在变量之前或之后写 try 有什么区别?我的意思是:

和这个:

他们都工作我只是好奇。

0 投票
2 回答
3231 浏览

swift - 从 do-catch 语句返回字符串

我试图将代码从 swift 2 转换为 swift 4 并遇到此错误

不处理从这里抛出的错误

所以我这样做了,但现在它告诉我返回一个字符串。知道怎么做吗?

这是原始功能的样子