I am using System.Diagnostics.Trace#TraceError inside a try/catch to trace errors. By looking at the implementation of TraceError, it looks like errors from listeners are not really caught. Does it mean that I should write code like below to avoid errors from logging propagating to the caller:
catch (Exception e) {
try {
Trace.TraceError(e);
} catch {
// Do nothing
}
}