エラー対処と対策

今回はVisualStudioのC#プログラミングでエラーが起こった時にどのように対処すればよいかということと、そもそもエラーが起こりにくいようなコーディング方法について学習していきます。

エラーが発生したら

まずは、前回作ったC#プログラムを改造して、わざとエラーを発生させてみます。

namespace Sample
{
	internal class Program
	{
		static void Main(string[] args)
		{
			System.Console.Write("HelloWorld.");
			system.Console.ReadLine();
		}
	}
}

このC#プログラムをVisualStudioでビルドしようとするとエラーが発生します。

VisualStudioのビルドでエラーが出た画面

エラーの内容としては、「CS0103. 現在のコンテキストに 'system' という名前は存在しません」です。

このメッセージにフォーカスを当てて、Enterキーを押すと問題の個所に飛ぶことができます。

もしビルドに失敗しているのにエラーの一覧が表示されていない場合は、Ctrlキーを押しながら、¥キーを押して離した後に、続けてEキーを押してCtrlキーと同時に離すと、エラーの一覧を表示させることができます。

これらのキーの組み合わせがうまく押せない場合は、まずCtrlキーを押しながら¥キーを押して同時に離し、次にCtrlキーを押しながらEキーを押して同時に離しても同じことができます。

今回は一つしかエラーが出ていませんが、大きなプログラムを書くようになると、複数のエラーが出てくるようになりますので、上下矢印キーで選択しEnterキーを押すと、これも問題のエラーが出ているところを表示してくれます。

とはいっても、今回はプログラム自体が短いので、この機能のありがたみをあまり感じないかもしれませんが、大きなプログラムを書くようになってくると、ものすごく便利な機能であることがわかると思います。

ちなみに、8行目の「system.Console.ReadLine();」を「System.Console.ReadLine();」に修正するとエラーが解決します。

VisualStudioでビルドが成功した画面

以上が、VisualStudioでのエラー対処方法の一連の流れになります。

エラーが出ないようにするには

C#プログラミングに限らず、エラーが出るというのは誰だっていやなものです。

そこで、ここではなるべくエラーが出ないようなコーディング方法を提案していこうかと思います。

その方法とは、一言で言ってしまうと、「読みやすいプログラムを書きましょう」ということです。

そして読みやすいプログラムを書いていく方法として、見た目的にわかりやすくすることと、プログラムの意味が分かりやすいようにするということを意識するとよいと思います。

見た目的にわかりやすくする

すでに紹介しましたインデント(字下げ)はプログラムを読みやすくするための工夫の一つです。

VisualStudioのコードエディタでは、TABキーを一回押すと、半角スペース四つ分の空白があくみたいです。

それと、C#プログラムはわりと改行に関して厳しくないので、一行が長くなりすぎてエディタ画面の右端を突き抜けてしまう場合には、適当な場所で改行して字下げしておきましょう。

カッコを開いた後や、ピリオドやカンマの後であれば、改行してもそんなに読みづらくならないはずです。

プログラムの意味が分かるように書く

見た目的に美しいプログラムになっていたとしても、「このプログラムは一体何をやっているんだろう?」となってしまってはダメですよね。

そうならないようにC#では、プログラムの中にコメントを書くことができます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sample
{
	internal class Program
	{
		static void Main(string[] args)
		{
			/*
			 ここからはコメント行です。
			 いろいろ書けますよ。
			 */

			// 文字列を表示
			Console.Write("ABCD");
			Console.ReadLine();

			// 文字扱いで数字を表示
			Console.Write("0123");
			Console.ReadLine();

			// 数値として数字を表示
			Console.Write(0123);
			Console.ReadLine();
		}
	}
}

サンプルプログラムはここからダウンロードしてください。

C#プログラムのコメントには二種類あります。

ひとつは一行コメント、もうひとつは複数行コメントです。

一行コメントは、「//」から始まり、改行されるまでがコメントエリアになるものです。

複数行コメントは、「/*」から始まり、「*/」が出てくるまでがコメントエリアになります。

どちらもコメントエリア内であれば、英語、日本語、プログラムであっても記述できます。

コメントが書かれたプログラムでもビルドが成功した画面

でも、あくまでもコメントなので、ビルド時には無視されます。

プログラムの実行画面

今回はコメント内でプログラム解説をしてしまったので、プログラム解説はありません。

まとめ

C#に限らず、見やすく読みやすいプログラムはビルドエラーだけでなく、バグも減らします。

プログラムを書いているときは、わざわざコメントを書くのが面倒に感じるかもしれませんが、怪しい部分などは未来の自分のために書き残しておきましょう。