के साथ पहलुओं के पहलुओं को लागू करना मैं पोस्ट तेज का उपयोग करने में देख रहा हूं और मैं कुछ डेमो को एक साथ रखने की कोशिश कर रहा हूं। उनमें से एक ऐसा पहलू था जो अपवादों को लॉग करेगा, और दूसरा शून्य तर्कों की जांच करना था और किसी का सामना होने पर अपवाद फेंकना था।पोस्टशर्प
मेरी समस्या यह है कि मैं अपने अपवाद लॉगिंग पहलू को शून्य जांच पहलू द्वारा फेंकने वाले अपवादों को लॉग इन करना चाहता हूं। ऐसा लगता है कि यह काम नहीं कर रहा है। क्या कोई इस काम को करने का तरीका जानता है?
संपादित करें: स्पष्ट है कि, अपवाद लकड़हारा अपवाद है कि एक पहलू के बाहर फेंक दिया जाता है के साथ काम कर रहा है, लेकिन अपवाद NullCheckAttribute
पर thown अशक्त पहलू की जाँच के लिए कोड के रूप में
इस प्रकार प्रवेश करने नहीं है[Serializable]
public class NullCheckAttribute : OnMethodBoundaryAspect
{
[ExceptionLogger]
public override void OnEntry(MethodExecutionArgs args)
{
foreach (var argument in args.Arguments)
{
if (argument == null)
throw new InvalidOperationException("Null argument in " + args.Method.Name);
}
}
}
और अपवाद लकड़हारा
[Serializable]
public class ExceptionLoggerAttribute : OnMethodBoundaryAspect
{
public override void OnException(MethodExecutionArgs args)
{
Console.WriteLine("Exception thrown in " + args.Method.Name);
Console.WriteLine("***Message: " + args.Exception.Message);
Console.WriteLine("***Stack trace: " + args.Exception.StackTrace);
}
}
के लिए कोड मैं भी है कि मैं बस के लिए एक नि: शुल्क लाइसेंस का उपयोग कर रहा उल्लेख करना चाहिए इस।
'ऐसा लगता है कि यह काम नहीं कर रहा है।' - वास्तव में क्या हो रहा है? – Muctadir
अपवाद लॉगर सामान्य अपवादों के साथ ठीक काम कर रहा है, लेकिन NullCheckAttribute में फेंकने वाले लोगों को लॉग इन नहीं किया जा रहा है। –
क्या आपने 'MethodExecutionArgs' वास्तव में शून्य को देखने के लिए 'NullCheckAttribute' को डीबग किया था? – Muctadir