Skip to content

[Unity]StreamWriterでNullReferenceExceptionが出て書き込めなかった恥ずかしい話

UnityでGameobjectのpositionをcsvファイルに書き込もうとしたときに発生したエラー.

ソースコードはだいたいこんな感じ

public GameObject obj; //参照したいオブジェクト
private StreamWriter sw;

void Start(){
 /*csvファイルを作成して開く処理*/
}

void Update(){
 Debug.Log(obj.transform.position.x); //こっちはエラーが出ない
 sw.WriteLine(obj.transform.position.x); //こっちは参照エラーが出る
}

このような単純なプログラムで以下のような参照エラーが発生した.
NullReferenceException: Object reference not set to an instance of an object

引数側に問題があると勘違いしてひたすらWriteLineのリファレンスとにらめっこしてたのだが,実際はプログラムで自動作成したCSVファイルのファイル名に問題があった.
CSVを作成するタイミングでエラーが出ており,StreamWriterを参照できないという主旨のエラーだった.

30分ほど時間を無駄にしました...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です