【发布时间】:2016-11-27 20:39:29
【问题描述】:
我正在使用完美的服务器端 Swift,并且在 main.swift 中有一些条件,服务器应该在实际启动之前终止。是否有处理此终止的最佳实践?
目前,我抛出一个错误是因为 return 不起作用——因为它不在函数的上下文中(请参阅下面的 This is the error I'm throwing and concerned about.)。到目前为止,这是我所拥有的:
//
// main.swift
//
import PerfectLib
import PerfectHTTP
import PerfectHTTPServer
enum ServerStartupError : Error {
case FailedUserControllerSetup
}
if !UserController.setup() {
// This is the error I'm throwing and concerned about.
throw ServerStartupError.FailedUserControllerSetup
}
let server = HTTPServer()
let serverRoutes = ServerRoutes()
serverRoutes.addRoutes(server: server)
server.serverPort = 8181
do {
// Launch the HTTP server.
try server.start()
} catch PerfectError.networkError(let err, let msg) {
print("Network error thrown: \(err) \(msg)")
}
【问题讨论】: