搜索

首页  >  问答  >  正文

c# - 项目开发中 异常在表现层捕获?

实际项目中,业务逻辑层 服务层 只管抛出异常,而不处理异常。
在表现层中在捕获异常并处理(日志记录什么的)?

像前后端分离的话这样好像就不适用了,异常捕获则需要在调用服务或者逻辑的地方捕获、?是这样的吗、

大家实际项目中异常处理 是怎么样的呢?还请大家指点指点!!!!!

天蓬老师天蓬老师2749 天前959

全部回复(2)我来回复

  • 漂亮男人

    漂亮男人2017-05-16 17:07:43

    服务层会做日志记录,一般来说异常抛出由表现层捕获,但也会在服务层先捕获做日志再抛出

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 17:07:43

    首先需要明确一个理念:异常是抛给程序员的,而不是抛给用户的。

    明确了这个理念之后就好理解了,为什么需要在表现层处理异常——因为表现层是程序员和用户之间的最后一道屏障,必须把异常包装得漂漂亮亮的丢给客户,也就是所谓的用户体验。

    然而,表现层绝对不是唯一要处理异常的地方,你所说的那些地方,包括底层、服务器……都需要适当的处理异常。

    比如说,服务端提供的接口,一般要考虑调用者的体验,所以不会直接抛异常出来,而是需要进行一定的封装,同时在服务端记录异常信息以便查错。

    当然为了简化和统一处理过程,通常会集中在某些层次,包括表现层对异常进行处理。

    回复
    0
  • 取消回复