相关疑难解决方法(0)

为什么要创建自定义例外?

为什么我们需要在中创建自定义例外 .NET?

.net c# exception

56
推荐指数
4
解决办法
2万
查看次数

创建自己的自定义异常有哪些最佳做法?

在前一个关于异常的问题的后续内容中,在.NET中创建自定义异常的最佳实践是什么?

更具体地说,您应该继承System.Exception,System.ApplicationException还是其他一些基本异常?

.net c# exception

24
推荐指数
3
解决办法
1万
查看次数

如何抛出好的例外?

我听说你永远不应该抛出一个字符串,因为缺少信息,你会发现你不希望捕获的异常.抛出异常有什么好的做法?你继承了一个基本的异常类吗?你有很多例外或很少吗?你做MyExceptionClass&或const MyExceptionClass&?此外,我知道永远不应该在析构函数中抛出异常

我将补充说,我理解设计合同以及何时抛出异常.我问我应该如何抛出异常.

c++ exception-handling throw

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

编写自定义异常类时应考虑哪些因素?

什么时候自定义异常类最有价值?
是否应该或不应该使用它们?有什么好处?

相关问题:

  1. 抛出异常的性能注意事项
  2. 您是否针对特定问题或一般例外编写例外情况?

oop exception

6
推荐指数
1
解决办法
1516
查看次数

为什么try块需要捕获

我有一些代码

try
{
    result.FirstName = nodes[myIdx].Attributes["ows_FirstName"].Value;
} catch { }
Run Code Online (Sandbox Code Playgroud)

如果我正在寻找的属性存在(Good ol sharepoint),我现在不知道在调用此调用之前.

因此,我可以编写我想要创建的代码的唯一线性方式就是这样.

try
{
    result.FirstName = nodes[myIdx].Attributes["ows_FirstName"].Value;
} catch { }
try
{
    result.LastName = nodes[myIdx].Attributes["ows_LastName"].Value;
} catch { }

....
Run Code Online (Sandbox Code Playgroud)

现在我没有使用此代码的catch部分,最终得到了大量完全冗余的行.

为什么我不能这样做

try { result.FirstName = nodes[myIdx].Attributes["ows_FirstName"].Value; }
Run Code Online (Sandbox Code Playgroud)

那么为什么我们明确被迫声明一个catch块,即使它没有被处理?我确信有充分的理由,但无法解决.

编辑:在每个人开始对我说,吞下一个例外是不好的,等等等等等等.我们(和我)都知道这些论点,但在这个(和许多)现实世界场景中,没有什么特别的例外,我无法做(或需要做)来修复行为.

c# syntax try-catch catch-block

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

标签 统计

c# ×3

exception ×3

.net ×2

c++ ×1

catch-block ×1

exception-handling ×1

oop ×1

syntax ×1

throw ×1

try-catch ×1