相关疑难解决方法(0)

何时使用os.Exit()和panic()?

有人可以解释Go 之间的关键差异os.Exit()以及panic()它们在实践中的使用方式吗?

exit go

86
推荐指数
3
解决办法
4万
查看次数

除了错误处理之外,为什么Go会增加恐慌和恢复?

为什么Go最终会采用恐慌/恢复的异常处理,当语言如此惯用并且是错误代码的强烈提倡者时?Go的设计者有哪些场景不会被错误代码处理并且需要恐慌/恢复?

我理解约定说限制恐慌/恢复,但运行时是否也限制它们不能用作C++中的常规throw/catch?

error-handling exception-handling go

11
推荐指数
1
解决办法
1210
查看次数

使用错误的函数参数验证是Go中的一个好模式吗?

使用错误返回代码进行参数验证是否被认为是良 我的意思是有人应该在哪里使用错误与恐慌(有没有指导方针?).

例如:

  • 检查非零+返回错误,如果它是一个好的做法?
  • 或检查正确的整数范围等.

我想,使用通常会让Go感觉非常C-ish并且看起来非常糟糕的错误.在这些情况下,恐慌是不是一个好的选择?

或者Gopher应该使用Python/Ruby/JS方法"只是让它失败"?

我有点困惑,因为在我的理解中恐慌是真正的"错误".但是一直使用错误都很糟糕.

即使我会返回错误代码:如果有人将错误的参数传递给我的函数但忽略了错误代码,我该怎么办? - >什么都没有!老实说,我会说恐慌对于那些情况很好,但是在一种语言中,错误代码用于恐慌,这不是很清楚.

validation go

9
推荐指数
1
解决办法
1070
查看次数