You don't need to add a filter to do event grabbing, just handle Application_Error in global.asax.cs. Server.GetLastError( ) will have the exception information
Yeah, erm... No.
The error shown in the original question shows a parsing/compilation error - these errors happen in the HttpHandler pipeline for ASP.NET (ISAPI Filter in older IIS versions) i.e. before your application is event started, so before any of the events in Global.asax.
Although you can specify a custom error page (in web.config, machine.config, or IIS metabase), these can only be HTML files.
1) if you're only interested in exceptions which arise in your code (i.e. your code compiles, but then an exception is thrown) then you can use Dan's suggestion from above and handle the Application_Error event in Glocal.asax.
If you want to handle ASP.NET exceptions (e.g. Parsing/Compilation errors, config files errors, etc) then you'll need to hook in (or replace) the ASP.NET HttpHandler.
You could wrap the existing handler by writing your own, and catching any exceptions, then redirecting to another error page.
You'd specify your handler in your web.config file (or machine.config if it's a global handler).
There are some good tutorials on the web on how to do this.
Try starting here: http://msdn.microsoft.com/en-us/library/f3ff8w4a(VS.71).aspx
(main problem is: to catch parsing/compilation errors you need to write a handler/filter which is a level above the ASP.NET handler/filter (I believe)).
Hope this helps,
Dourn.