以下のようにカスタム例外クラスを作成しました
namespace testingEXception
{
public class CustomException : Exception
{
public CustomException()
{
}
public CustomException(string message)
: base(message)
{
}
public CustomException(string message, Exception innerException)
: base(message, innerException)
{
}
}
}
このような同じソリューションで別のプロジェクトから例外をスローしています
namespace ConsoleApplication1
{
public class testClass
{
public void compare()
{
if (1 > 0)
{
throw new CustomException("Invalid Code");
}
}
}
}
そして、このようにそれをキャッチ
namespace testingEXception
{
class Program
{
static void Main(string[] args)
{
try
{
testClass obj = new testClass();
obj.compare();
}
catch (testingEXception.CustomException ex)
{
//throw;
}
catch (Exception ex)
{
// throw new CustomException(ex.Message);
}
Console.ReadKey();
}
}
}
問題は、例外のタイプが CustomException を示しているにもかかわらず、例外が最初のキャッチではキャッチされず、代わりに 2 番目のキャッチでキャッチされることです。