【问题标题】:Is it good practice to have try and catch block inside constructor in java [duplicate]在java中的构造函数中尝试并捕获块是一种好习惯[重复]
【发布时间】:2017-02-22 07:12:23
【问题描述】:

我们可以在构造函数中使用try和catch块吗,或者我们可以从构造函数中抛出异常,或者在java中的构造函数中抛出异常 这是在java中尝试和捕获块,抛出和抛出构造函数的好习惯还是不好的做法? 请指导我完成,等待回复并提前感谢您。

【问题讨论】:

  • 不好的做法,但不是非黑即白。

标签: java constructor exception-handling


【解决方案1】:

在构造函数中抛出异常并没有错,就像在其他任何地方抛出异常一样没有错。您应该只处理那些可以恢复的异常,就像在代码的任何其他部分中所做的那样。在某些情况下,例如初始化 JSONObject,您可能必须捕获或抛出异常。只需确保正确处理此异常

【讨论】:

  • 并记录在案,以防引发异常。
【解决方案2】:

这不是一个好习惯。 但是你有一个声明,它比throws Exception 更能激发Exception 考虑下面的例子。

public class Test {
static int no;
Test() throws Exception {
    no=Integer.parseInt("5"); 
}
public static void main(String[] args) {
    try{new Test();}catch(NumberFormatException error){
        no=0; }
    System.out.println(no);

}
}

【讨论】:

  • catch Exception(..) 是下一次代码审查失败的肯定方法,即使这只是一个快速而肮脏的例子,应该使用正确的NumberFormatException,恕我直言。
  • 是的,谢谢你的建议,现在很高兴兄弟
猜你喜欢
  • 1970-01-01
  • 2019-02-01
  • 2021-04-11
  • 2017-10-11
  • 1970-01-01
  • 2020-06-19
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多