Web应用请求

本文关键字:请求 应用 Web | 更新日期: 2023-09-27 17:50:59

我有一个Web应用程序请求和一个基本的异常被抛出,如果null。

有谁能推荐比泛型异常更好的方法吗?我确信我的客户端会想要一些东西,要么让用户知道请求为空,要么甚至强制请求不为空。

代码示例:

public async Task <Lead> BuildLeadFromRequest(object request)
{
        var req = request as WebApplicationRequest;
        if (req == null)
            throw new Exception(); //TODO: Something better than throwing an exception
}

Thanks in advance

Web应用请求

用户不会知道异常类型之间的区别,期望它们对特定的type起作用是愚蠢的赌注,对用户有用的是有意义的消息,模糊的异常名称和堆栈跟踪仅对我们开发人员有用。

通过堆栈跟踪向用户报告操作状态也不是一个好主意,但是我不明白为什么你的方法会以null开始调用,所以这是一个关键异常,应该是thrown

有很多方法可以提供更多的信息,但最简单的是这样的:
if (req == null)
        throw new Exception("Request was not valid.");

你的问题中缺少的是这是如何发生的,你的异常细节可以说明这是如何可能的。

if (req == null)
        throw new Exception("Request was not valid.  Perhaps you did operation A instead of doing expected operation B...  blah blah");

显然你可以创建ExceptionApplicationException的子类,但那是你自己的选择。

为什么这个方法可以用null来调用是另一个问题了