gpt4 book ai didi

error-handling - Swift 3 : handle custom error with if condition

转载 作者:行者123 更新时间:2023-12-03 09:06:18 25 4
gpt4 key购买 nike

我对在Swift 3中引发自定义异常有些困惑。

在C++中,我可以执行此操作以立即停止方法中的进程,抛出错误并进行处理,而无需进一步进行操作。

void foo()
{
try
{
if (a > b)
{
throw MyException();
}

DoOtherStaff();
}
catch (const MyException& e)
{
HandleError();
}
}

我正在尝试在Swift 3中实现这样的事情
enum MyError : Error
{
case myError(String)
}

func foo()
{
do
{
if (a > b)
{
throw MyError.myError("My error message");
}

DoOtherStaff();
}
catch
{
HandleError();
}
}

但这告诉我,由于封闭的捕获并不详尽,因此未处理该错误。有办法处理吗?

谢谢!

最佳答案

您显示的代码没有任何先验错误。作为证明,只需将以下内容复制并粘贴到运动场(或实际项目中的class定义)中:

enum MyError : Error {
case myError(String)
}
let a = 1
let b = 2
func foo() {
do {
if a > b {
throw MyError.myError("My error message")
}
doOtherStuff()
}
catch {
handleError()
}
}
func doOtherStuff() {}
func handleError() {}

可以在操场上编译并运行良好(尽管它什么也没做)。请注意,我所做的与您提供的代码不同的是“填空”,即提供您所引用的所有术语的声明。

关于error-handling - Swift 3 : handle custom error with if condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41842618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com