java构造函数

在java构造函数中抛异常,java对象会被创建吗?

比如我要检查构造函数参数不能小于0,如果小于0就抛异常;那么这个对象还会被创建吗?


守着星空守着你
浏览 228回答 3
3回答

慕标琳琳

class&nbsp;MyClass {&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;MyClass(int&nbsp;v) &nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(v<0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Exception("v<0!"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(e.getMessage()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;SomeMethod() &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("SomeMethod"); &nbsp;&nbsp;&nbsp;&nbsp;} }class&nbsp;Program {&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyClass&nbsp;mc&nbsp;=&nbsp;new&nbsp;MyClass(-1); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mc.SomeMethod(); &nbsp;&nbsp;&nbsp;&nbsp;} }执行结果v<0!SomeMethod所以这个对象是被创建了的

繁花不似锦

应该不吧。。。 程序进去后判断不合要求,抛出异常了。。。我觉得就相当于略过这个方法了。

慕容708150

你试一下不就知道了,对一般方法如果抛出异常,就在抛出的地方跳出方法。
打开App,查看更多内容
随时随地看视频慕课网APP