Index: trunk/Include/system/exception.ab
===================================================================
--- trunk/Include/system/exception.ab	(revision 406)
+++ trunk/Include/system/exception.ab	(revision 411)
@@ -28,4 +28,5 @@
 
 	Sub FinishFinally()
+		Imports System.Threading
 		If Thread.CurrentThread().__IsThrowing() Then
 			Throw Thread.CurrentThread().__GetThrowintParamObject()
@@ -34,4 +35,7 @@
 
 	Function ResolveCatchesOverload( ex As Object ) As LONG_PTR
+		OutputDebugString("ResolveCatchesOverload: ")
+		OutputDebugString(ToTCStr(ex.ToString))
+		OutputDebugString(Ex"\r\n")
 		Dim defaultCatchCodePos = 0 As LONG_PTR
 		Dim pos = 0 As Long
@@ -66,6 +70,13 @@
 		Return defaultCatchCodePos
 	End Function
-
+Private
 	Function isCatchable(paramName As String, catchType As System.TypeInfo) As Boolean
+/*		If Not String.IsNullOrEmpty(paramName) Then
+			Dim paramType = _System_TypeBase_Search(paramName)
+			isCatchable = ActiveBasic.Detail.IsBaseOf(catchType, paramType)
+		Else
+			isCatchable = False
+		End If
+/*/
 		isCatchable = False
 		While Not ActiveBasic.IsNothing(catchType)
@@ -77,4 +88,5 @@
 			catchType = catchType.BaseType
 		Wend
+'*/
 	End Function
 End Class
@@ -112,5 +124,5 @@
 
 	Static Function BeginTryScope( catchTable As *LONG_PTR, addressOfFinally As VoidPtr, basePtr As LONG_PTR, stackPtr As LONG_PTR ) As TryLayer
-		Return _System_pobj_AllThreads->GetCurrentException()->_BeginTryScope( catchTable, addressOfFinally, basePtr, stackPtr )
+		Return _System_pobj_AllThreads->GetCurrentException()._BeginTryScope( catchTable, addressOfFinally, basePtr, stackPtr )
 	End Function
 
@@ -127,5 +139,5 @@
 
 			'TODO: 適切なエラー処理
-			MessageBox( NULL, "Catchされていない例外があります", NULL, MB_OK or MB_ICONEXCLAMATION )
+			MessageBox( NULL, ToTCStr(Ex"Catchされていない例外があります\r\n" + ex.ToString), NULL, MB_OK or MB_ICONEXCLAMATION )
 			Debug
 			Return
@@ -133,4 +145,5 @@
 
 		' スレッドへThrow処理を開始したことを通知
+		Imports System.Threading
 		Thread.CurrentThread().__Throw( ex )
 
