Index: trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp	(revision 554)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp	(revision 555)
@@ -77,4 +77,13 @@
 		goto EndCompile;
 	}
+	if( !compiler.GetObjectModule().GetCurrentSource().cannotIncludePath.empty() )
+	{
+		compiler.errorMessenger.Output(
+			35,
+			compiler.GetObjectModule().GetCurrentSource().cannotIncludePath,
+			compiler.GetObjectModule().GetCurrentSource().cannotIncludeSourcePos
+		);
+		goto EndCompile;
+	}
 
 	//イメージベースの設定
Index: trunk/ab5.0/abdev/BasicCompiler_Common/include/Source.h
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/include/Source.h	(revision 554)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/include/Source.h	(revision 555)
@@ -248,4 +248,7 @@
 		return buffer[2+index];
 	}
+
+	std::string cannotIncludePath;
+	int cannotIncludeSourcePos;
 };
 typedef std::vector<BasicSource> BasicSources;
Index: trunk/ab5.0/abdev/BasicCompiler_Common/src/Messenger.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/src/Messenger.cpp	(revision 554)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/src/Messenger.cpp	(revision 555)
@@ -168,4 +168,5 @@
 	if(errorCode==33) sprintf(msg,"定数式にリテラル値、または定数以外のものが含まれています。");
 	if(errorCode==34) sprintf(msg,"定数はモジュールレベルで宣言して下さい。");
+	if(errorCode==35) sprintf(msg,"インクルードファイル \"%s\" をオープンできません",tempKeyWord);
 	if(errorCode==38) sprintf(msg,"\"%s\" 戻り値が存在しないプロシージャです。",tempKeyWord);
 	if(errorCode==39) sprintf(msg,"\"%s\" はオブジェクトポインタではありません（\"->\" 参照はできません）。",tempKeyWord);
Index: trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp	(revision 554)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp	(revision 555)
@@ -621,4 +621,12 @@
 			else continue;
 
+			if( !Jenga::Common::Path( temporary ).IsExistFile() )
+			{
+				this->cannotIncludePath = temporary;
+				this->cannotIncludeSourcePos = i;
+				includedFilesRelation.AddLine( FileLayer[layer] );
+				break;
+			}
+
 			if( i == 0 && Jenga::Common::Path(temporary).GetFileName() == "basic" )
 			{
@@ -655,8 +663,7 @@
 
 				//インクルードファイルを読み込む
-				if( !source.ReadFile_InIncludeDirective( temporary ) ){
-					sprintf(temp2,"インクルードファイル \"%s\" をオープンできません",temporary);
-					compiler.errorMessenger.Output(-1,temp2,i);
-					break;
+				if( !source.ReadFile_InIncludeDirective( temporary ) )
+				{
+					throw;
 				}
 			}
