我正在使用 Perfect 服务器端 Swift,并且在 main.swift 中有一些条件,服务器应该在实际启动之前终止。是否有处理此终止的最佳实践?
目前,我抛出一个错误,因为 areturn
不起作用——因为它不在函数的上下文中(见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)")
}