Handle Automapper exception?

2019-08-30 12:43发布

问题:

Using mvc5 with automapper I have following:

In Controller :

  [HttpPost]
        public ActionResult LunchMenu_Create_Index(VmSysMenuCreate menu)
        {
            try
            {
                var domainMenu = Mapper.Map<VmSysMenuCreate, Menu>(menu);
            }

            catch (Exception ex)
            {
                return Content("Error msg");
            }

            return Content("Succes");
        }

Mapping:

  Mapper.CreateMap<VmSysMenuCreate, Menu>()
                .ForMember(c => c.Id, op => op.MapFrom(v => v.Id))
                .ForMember(c => c.MenuDate, op => op.ResolveUsing(data =>
                {
                    try
                    {
                        DateTime convertedDate = Convert.ToDateTime(data);
                        return convertedDate;
                    }
                    catch (Exception ex)
                    {

                        throw new Exception("Date not in correct format", ex);
                    }

                }));

Doing this I was excpected to catch automapper error when tryng to map my objects , but this is not working like I was expect.

How can I catch error in controller that is thrown from automapper? If you have any question please ask me.. Thanks for you attention!

回答1:

Not sure, but probably you have the option CLR Exceptions Thrown ON.

Select "Exceptions..." from "Debug" menu. (or press CTRL + ALT + E)

If the highlighted Thrown option is ON, you'll see the debugger stopping in the innermost exception.