小编ave*_*sse的帖子

传递异常的正确方法是什么?(C#)

我想知道将异常从一种方法传递给另一种方法的正确方法是什么.

我正在开发一个分为Presentation(web),Business和Logic层的项目,并且需要在链中传递错误(例如SqlExceptions)以在出现问题时通知Web层.

我见过3种基本方法:

try  
{  
    //error code
} 
catch (Exception ex)
{
    throw ex;
}
Run Code Online (Sandbox Code Playgroud)

(只是重新抛出)

try  
{  
    //error code
} 
catch (Exception ex)
{
    throw new MyCustomException();
}
Run Code Online (Sandbox Code Playgroud)

(抛出自定义异常,以便不传递对数据提供程序的依赖关系)
然后简单地说

//error code
Run Code Online (Sandbox Code Playgroud)

(根本不做任何事情,让错误自己冒出来)

当然,catch块中也会发生一些日志记录.

我更喜欢3号,而我的同事使用方法1,但我们都不能真正激励为什么.

使用每种方法有哪些优点/缺点?有一种我不知道的更好的方法吗?有没有被接受的最佳方式?

c# exception

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

Nuget:指定依赖项而不添加引用

我有一个包(比如,MyStuff.Data)需要EntityFramework(和其他)才能工作,但只能在内部工作.我不希望每个使用MyStuff.Data的项目也引用EntityFramework(以及所有其他项目),但dll总是需要在那里.

有没有什么方法可以添加EntityFramework作为MyStuff.Data的依赖项(以便它在packages文件夹中获取EntityFramework.dll),但没有引用添加到每个使用它的项目?

nuget

8
推荐指数
1
解决办法
1732
查看次数

标签 统计

c# ×1

exception ×1

nuget ×1