我想从catch块中抛出一个自定义异常,即,每当发生任何异常时,它应该被catch块捕获并抛出一个自定义异常。我正在尝试使用下面的代码,但在catch块中获取运行时异常为"未处理的异常"。
try{
///some error
}
catch(Exception e){
try{
throw new CustomException("Exception1", e);
}
catch(CustomException ce)
{
Console.WriteLine("Custom Exception Caught" + ce.StackTrace);
}
}
public class CustomException : Exception
{
public CustomException : base()
{
}
public CustomException(string message, Exception innerException) : base(message, innerException)
{
processError(message, innerException);
}
}
public static void processError(string mgs, Exception e)
{
switch(mgs)
{
case "Exception1":
Console.WriteLine("Exception1 caught" + e.StackTrace);
break;
case "Exception2":
Console.WriteLine("Exception2 caught" + e.StackTrace);
break;
default:
Console.WriteLine("Some other Exception caught" + e.StackTrace);
break;
}
}
对上述问题的任何暗示都非常感谢。提前谢谢。
答案 0 :(得分:1)
是的,只需写下
throws new ExceptionType(parameter);
其中ExceptionType是自定义异常类的名称。