请教个问题,try catch的catch是否可以扑捉一个通用的异常呢?
因为可能出现的异常太多了,是否可以用一个catch笼统的捕捉一下呢?

解决方案 »

  1.   

    不应该这么做啊,异常就是给你提供出错位置的。如果非要这么做,就把代码里所有的try catch里,就加一个raise exception到你自己定义的exception上
      

  2.   


    当然可以啊如果你写catch{},就说明是忽略所有异常,即便发生异常也执行。如果你写catch(Exception ex),就会捕获引发这个异常的异常。多个cathc与一个try 关联,每个catch 包含一个确定该块处理的异常类型的类型筛选器。
      

  3.   

    http://msdn.microsoft.com/zh-cn/library/system.exception.aspx
    msdn也说的很明白了,Exception是所有异常的基类,所有的已定义的异常,都可以catch(Exception ex)捕获
      

  4.   

    try catch要少用啊。
    用不好,有了错误,想找都不知道在哪里发生的。调试特别困难。
    只有在运行环境有变化,例如文件操作没有文件,数据库操作连接不上等,网络操作网络断等情况,或者在某些条件下故意引发异常时,才可以使用。
      

  5.   

    是的,光只套catch{}不在里面做其他操作,异常是会被忽略掉的
    这个可以在catch{}里面吧异常写入外部的文档里,即使程序异常,也不会弹错误界面(程序交付客户使用时建议使用)
      

  6.   

    谢谢大家,决定这样做:
    Exception是所有异常的基类,所有的已定义的异常,都可以catch(Exception ex)捕获
    然后写到一个文件中。总比catch{}好多了,至少能看到第一个异常出现的问题是什么:ex.Message();
      

  7.   

    可以是可以,这样的你就找不到异常发生的位置了,
    你可以在最顶部引用这些方法的地方加 trycatch
    就可以了