相关疑难解决方法(0)

什么是.NET中的ApplicationException?

为了抛出异常,我通常使用内置的异常类,例如ArgumentNullException和NotSupportedException.但是,有时我需要使用自定义异常,在这种情况下我写:

class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
Run Code Online (Sandbox Code Playgroud)

等等.然后我在我的代码中抛出并捕获它们.但今天我遇到了ApplicationException全班 - 我应该使用它吗?这是为了什么?

拥有许多具有不同名称的有效相同的异常类似乎效率低下(我通常不需要任何单独的功能).但我不喜欢捕获泛型ApplicationException并且必须使用额外代码来确定错误是什么的想法.

哪里应该ApplicationException适合我的代码?

.net c# exception-handling exception

162
推荐指数
3
解决办法
4万
查看次数

使用ApplicationException

我想知道ApplicationException当用户违反某些业务规则时,是否建议使用它来返回应用程序错误.例如:

public void validate(string name, string email)
{   
    int count1 = (from p in context.clients
        where (p.name == clients.name)
        select p).Count();

    if (count1 > 0)
        throw new ApplicationException("Your name already exist in the database");

    int count2 = (from p in context.clients
        where (p.email == clients.email)
        select p).Count();

    if (count2 > 0)
        throw new ApplicationException("Your e-mail already exist in the database"); 
}
Run Code Online (Sandbox Code Playgroud)

这是一个好的或坏的策略?如果不是,那会是更好的方法?

c# asp.net asp.net-mvc design-patterns

2
推荐指数
2
解决办法
7830
查看次数