
现在我们不能推断刚从Exception类发生的实际异常的类型,然后转换它并获得所需的信息?
例如考虑这个:
private voID @R_419_5554@1_Click(object sender,EventArgs e) { try { //try doing something to generate and exception int blah =8 / Convert.ToInt32(txtBox.Text); } catch (Exception ex) { //ex.GetType().name //getting the type and casting it according to the retrIEved name //and finally showing the more detailed info of the occurred exception //for example like this? //MessageBox((ex.GetType())ex).Message); } } 这只是传达我意义的一个示例,假设如果可能的话,我们将这个自定义类继承自Exception并为此目的进行所需的工作.
我们不能这样做吗?如果我们能怎样才能施展它?如果不能这样做,为什么呢?
解决方法 如果需要,可以将异常处理逻辑委托给一些定义良好的模块,其目的是…处理异常:)也许这样……?try { // code that throws something} catch (Exception e) { myExceptionHandlingStrategy.handleException(e);} 其中myExceptionHandlingStrategy是MyExceptionHandlingStrategy的一个实例,MyExceptionHandlingStrategy是一个暴露接口IExceptionHandlingStrategy的模块,定义(可能)如下:
interface IExceptionHandlingStrategy { voID handleException(Exception e);} 然后,在该接口的某些实现中(您可能有很多),您可以自由地执行以下 *** 作:
if (e is SomethingBadException) { // show some message} else if (e is SomeOtherKindOfException) { // do something else instead} else { throw new CannotHandleThisException(e);} PS:没有反思:)
总结以上是内存溢出为你收集整理的我们可以在c#中创建一个异常类,它可以推断出异常的类型并相应地显示相关信息吗?全部内容,希望文章能够帮你解决我们可以在c#中创建一个异常类,它可以推断出异常的类型并相应地显示相关信息吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)