gpt4 book ai didi

java - .NET 与 Java 中的异常处理

转载 作者:行者123 更新时间:2023-11-30 03:22:19 25 4
gpt4 key购买 nike

我正在将一个为 Java 编写的库移植到 .NET C#,并且正在处理两个世界之间异常处理方面的差异。

特别是我有一个 abstract我用作基类来实现多种服务的类。在这个类中我有这些方法:

public void MyConcreteMethod(){

//...
try {
initialize();
} catch(InitializationException ex){
// ...
}

// ...

}

public abstract void initialize() throws InitializationException;

每个扩展类都必须实现initialize的方式我清楚地知道我需要处理一些可能的InitializationException .

在 C# 中,我像这样转换了代码:

public void MyConcreteMethod(){

//...

Initialize();

// ...

}

public abstract void Initialize();

但是这样我就没有关于可能的初始化问题的明确信息:在某些类中我可以抛出异常,而在其他类中我不能。

那么我应该在 MyConcreteMethod 中处理它们吗? ?我应该捕获哪个异常?通用Exception

最佳答案

唯一的区别是 Java 有一些检查异常,但 C# 没有。

由于您要移植的代码最初是用 Java 编写的,并假设它具有正确的异常处理(这应该与语言无关),那么只需 在 C# 代码中捕获异常的位置与Java 代码捕获它们。

<小时/>

在没有签名级异常子句的情况下,向 API 用户传达可能的异常的标准 .NET 实践是简单地记录它们。您可以在程序集文档和 Web 文档(如果适用)中记录它们。

关于java - .NET 与 Java 中的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31048230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com