Luc*_*ier 7 java exception-handling exception
我目前正在用Java包装一个C库,使其更容易使用并在OO-Programming中工作.C库使用错误代码(int返回值)和Out-Parameter进行数据操作.我不一定是错误代码的粉丝,所以我想创建一些自定义的异常类,如果我的库检测到错误代码而不是"成功",我可以抛出这些类.
唯一的问题是每个方法可能引发的异常数量非常高(可以从每个C库函数返回一些错误代码,例如"Device_Not_Connected").自从我上次用Java编程以来已经有一段时间了,所以,我真的不知道Java中的Exceptions是什么情况.
小智 3
抛出大量不同异常的方法是否是糟糕的设计?
如果使用得当显然不会!异常基本上只是一种可能的返回状态,超出了该方法的技术目的范围。例如,如果该方法应从设备读取值 null 或应使用返回类型返回任何值。但是,当您无法读取返回值时,抛出自定义的 DeviceNotConnectedException 来表明出现问题,而不是简单地返回 null 是 100% 的最佳实践。如果有 10 件事情可能出错,那么可以列出 10 种可能的例外情况。
我是否必须处理异常,或者有没有办法简单地忽略它?
当您没有捕获异常时,您必须在调用此方法的每个方法、该方法调用者等中使用“public void myMethod() throws MyExcp {..}”等声明发生异常的方法。如果你将它交给主方法并且没有在那里处理,那么程序将会崩溃。
如果我可以忽略异常,它是否会在调用树中冒泡(例如在Python中)?
往上看。
除了错误代码和空操作之外,Java 中还有其他异常的替代方法吗?
据我所知,还没有,但我不是专家。