একটি ভাল উপায় এখন এই হ্যান্ডেল করতে (1.1) এ এই কাজ করতে হয় Startup.cs
'র Configure()
:
app.UseExceptionHandler("/Error");
এটি এর জন্য রুটটি কার্যকর করবে /Error
। এটি আপনার লেখার প্রতিটি ক্রিয়ায় ট্রাই-ক্যাচ ব্লক যুক্ত করা থেকে রক্ষা করবে।
অবশ্যই, আপনার এটির মতো একটি ত্রুটি নিয়ন্ত্রণকারী যুক্ত করতে হবে:
[Route("[controller]")]
public class ErrorController : Controller
{
[Route("")]
[AllowAnonymous]
public IActionResult Get()
{
return StatusCode(StatusCodes.Status500InternalServerError);
}
}
আরও তথ্য এখানে ।
আপনি যদি প্রকৃত ব্যতিক্রম ডেটা পেতে চান তবে আপনি বিবৃতি Get()
দেওয়ার আগে উপরের ডানদিকে এটি যুক্ত করতে পারেন return
।
// Get the details of the exception that occurred
var exceptionFeature = HttpContext.Features.Get<IExceptionHandlerPathFeature>();
if (exceptionFeature != null)
{
// Get which route the exception occurred at
string routeWhereExceptionOccurred = exceptionFeature.Path;
// Get the exception that occurred
Exception exceptionThatOccurred = exceptionFeature.Error;
// TODO: Do something with the exception
// Log it with Serilog?
// Send an e-mail, text, fax, or carrier pidgeon? Maybe all of the above?
// Whatever you do, be careful to catch any exceptions, otherwise you'll end up with a blank page and throwing a 500
}
স্কট সাউবারের ব্লগ থেকে নেওয়া স্নিপেটের উপরে ।