2012-07-25 61 views
0

什么我尝试我的项目中做的是每次我提出一个默认异常处理

try 
     ... 
catch ex as exception 
     ...some logging code 
end try 

它的话有一个预定义的地方,当捕捉被触发执行一些代码的类。不知道它是否可能,但它会让我的生活更轻松,并减少代码中的重复。

public sub NullReferenceException() 
     runLogginfunction() 
end sub 

感谢

+0

什么是平台? – asawyer 2012-07-25 21:32:51

+0

http://stackoverflow.com/questions/337702/c-sharp-how-to-implement-one-catchem-all-exception-handler-with-resume – 2012-07-25 21:36:06

+0

这听起来像你试图捕捉和记录异常一个非常普遍的方式。这是一个不好的做法。您应该编程以避免异常,并仅在特殊情况下使用异常处理。否则,你只是让你的代码错误,很难调试。 – Enigmativity 2012-07-26 03:48:34

回答

0

为什么这是行不通的?

try 
     ... 
catch ex as exception 
     NullReferenceException(ex) 
end try 

module allstuff 
    public sub NullReferenceException(ex as exception) 
      runLogginfunction(ex) 
    end sub 
end module 
+0

它会工作,但即时尝试做的是不必在每次我写一个尝试捕获每个尝试捕获任何登录功能。 – Houlahan 2012-07-25 21:36:48

1

你不能同时捕捉到一个异常,并让它自动记录。你可以有一个或另一个。对于桌面应用程序,您可以使用UnhandledExceptionEventHandler来捕获和记录异常,在ASP.NET中,您可以使用global.aspx来实现相同的功能。或者你可以捕捉异常,并决定如何处理它 - 可以包括日志记录,但必须手动处理。