Maison > Article > développement back-end > erreur de pointeur nulle lors de la tentative de démarrage d'un serveur non démarré à partir de httptest
l'éditeur php Strawberry répondra à une question courante pour tout le monde : "Une erreur de pointeur nul s'est produite lors de la tentative de démarrage d'un serveur non démarré à partir de httptest". Lors des tests HTTP, nous pouvons parfois rencontrer cette erreur. En effet, httptest tente de se connecter à un serveur qui n'a pas encore été démarré, ce qui entraîne une erreur de pointeur nulle. Avant de résoudre ce problème, nous avons besoin de quelques connaissances de base.
J'essaie de créer un serveur http fictif dans mon code. Je voulais préciser le numéro de port, j'ai donc utilisé le code suivant :
l, _ := net.listen("http", "localhost:49219") svr := httptest.newunstartedserver(http.handlerfunc(func(w http.responsewriter, r *http.request) { ... })) svr.listener.close() svr.listener = l svr.start()
Cependant, sur la ligne svr.start(), j'obtiens un message d'erreur :
panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference
Évidemment, svr n'est pas nul en ce moment. Je veux savoir pourquoi cette erreur se produit et comment la corriger ?
Appelez net.listen
函数时需要更新第一个参数(行:l, := net.listen("http", "localhost:49219")
.
doit être tcp
、tcp4
、tcp6
、unix
或 unixpacket
,而不是 http
.
pouripv4
,您可以使用tcp4
.
Exemple :
65bd95abbd7cCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!