2012-07-23 16 views
7

NULLポインタ - http://golang.org/doc/articles/wiki/part2.gogolang:ランタイムエラー:無効なメモリアドレスまたは私はgolang、現在ここにこのチュートリアルおよびソースコードは以下に新しいです間接参照

をこのファイルを作成した後、私は取得しています

calvin$ ./mywebwiki2 
2012/07/23 17:12:59 http: panic serving [::1]:58820: runtime error: invalid memory address or nil pointer dereference 
/usr/local/go/src/pkg/net/http/server.go:576 (0x3f202) 
    _func_003: buf.Write(debug.Stack()) 
/private/tmp/bindist454984655/go/src/pkg/runtime/proc.c:1443 (0x10c79) 
/private/tmp/bindist454984655/go/src/pkg/runtime/runtime.c:128 (0x11745) 
/private/tmp/bindist454984655/go/src/pkg/runtime/thread_darwin.c:418 (0x148b5) 
/Users/calvin/work/gowiki/mywebwiki2.go:33 (0x2248) 
    viewHandler: fmt.Fprintf(w, "<h1>%s</h1><div>%s</div>", p.Title, p.Body) 
/usr/local/go/src/pkg/net/http/server.go:690 (0x331ae) 
    HandlerFunc.ServeHTTP: f(w, r) 
/usr/local/go/src/pkg/net/http/server.go:926 (0x34030) 
    (*ServeMux).ServeHTTP: mux.handler(r).ServeHTTP(w, r) 
/usr/local/go/src/pkg/net/http/server.go:656 (0x32fc1) 
    (*conn).serve: handler.ServeHTTP(w, w.req) 
/private/tmp/bindist454984655/go/src/pkg/runtime/proc.c:271 (0xed7f) 
2012/07/23 17:12:59 http: panic serving [::1]:58821: runtime error: invalid memory address or nil pointer dereference 

この明白なメモリ破損を引き起こしていると私は間違って何を考えている?

+0

このエラーは、要求されたファイルが存在しない場合(エラー処理なし)にも発生することがあります。私にとっては、test.txtファイルを作成するのを忘れていました。 – earth2jason

答えて

14

ライン36のエラーで無視ERRは、おそらくあなたはURL http://localhost:8080/view/またはopen foo.txt: no such file or directoryを使用してブラウザでテストopen .txt: no such file or directory場合は、URL​​を使用してブラウザでテストしている場合があり述べています。後のケースでは、このコード例が動作するには、作業ディレクトリに "foo.txt"というファイルがなければなりません。その後、コードは私にとってはローカルで動作するようです。

無視されたエラー値については、誰かが問題を記入する必要があります。

+1

go-nuts ircのチャンネルでチャットした後、私の愚かな間違いを理解しました。ありがとう! –

+2

'fmt.Fprintf'から次の行でも無視されるエラーがあります。 –

0

このチュートリアルでは、以前にTestPageというファイルを作成しました。サーバーを最初にビルドするときにナビゲートするページはどれですか。チュートリアルでは、混乱を引き起こすものがあるので、view/TestPageの代わりにview/testに移動してください。

関連する問題