【问题标题】:How to cast .NET exception to Java Exception using IKVM?如何使用 IKVM 将 .NET 异常转换为 Java 异常?
【发布时间】:2014-04-21 13:41:01
【问题描述】:

我的解决方案设计如下

+--------------------+
|     .NET exe       |     throws .NET Exception 
|--------------------|
|      IKVM          |             |  <------------auto conversion?
+--------------------+             v
|  java jar assembly |       java exception 
+--------------------+

当 .net exe 向 java jar 库程序集抛出 System.NotSupportedException 等异常时,基于 java 的程序集期望抛出 java 异常,而 .net 库异常基于非 java 异常。

如果 .NET try{}catch{} 将 .net 异常转换为 ikvm java 异常,它工作正常。

但我不认为这是聪明的方式。

有什么办法可以优雅地将.NET异常转换为java异常?

【问题讨论】:

    标签: .net ikvm


    【解决方案1】:

    我不会向 Java 层抛出 .NET 异常,就像我不会允许异常从我的 HTTP 层跨越边界到客户端视图一样。

    我认为 .NET 组件应该捕获和处理所有异常,并以对客户端更好的方式将故障传达给 Java。

    【讨论】:

      【解决方案2】:

      这是一个坏主意,因为在 IKVM.NET 中,java.lang.Throwable 只不过是 System.Exception 的别名,它最终会在抛出之前转换回 .NET 异常!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-23
        • 2010-09-10
        • 1970-01-01
        • 2012-08-23
        • 2023-02-24
        • 2014-04-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多