クラスの定義
scala> class Foo
defined class Foo
scala> new Foo
res0: Foo = Foo@1f40e1f
scala> new Foo()
res1: Foo = Foo@18efd7c
scala> class Bar(name: String)
defined class Bar
scala> new Bar()
<console>:7: error: not enough arguments for constructor Bar: (name: String)Bar.
Unspecified value parameter name.
new Bar()
^
scala> new Bar
<console>:7: error: not enough arguments for constructor Bar: (name: String)Bar.
Unspecified value parameter name.
new Bar
^
scala> new Bar("")
res4: Bar = Bar@f4da6d
scala> new Bar ""
<console>:1: error: ';' expected but string literal found.
new Bar ""
^
scala> new Bar(null)
res6: Bar = Bar@47c130
scala> class Baz(name: String) {
| if (name == null) throw new Exception("Name is null")
| }
defined class Baz
scala> new Baz
<console>:7: error: not enough arguments for constructor Baz: (name: String)Baz.
Unspecified value parameter name.
new Baz
^
scala> new Baz()
<console>:7: error: not enough arguments for constructor Baz: (name: String)Baz.
Unspecified value parameter name.
new Baz()
^
scala> new Baz(null)
java.lang.Exception: Name is null
at Baz.<init>(<console>:6)
at .<init>(<console>:7)
at .<clinit>(<console>)
at RequestResult$.<init>(<console>:9)
at RequestResult$.<clinit>(<console>)
at RequestResult$scala_repl_result(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.nsc.Interpreter$Request$$anonfun$loadAndRun$1$$anonfun$apply$17.apply(Interpreter.scala:988)
at scala.tools.nsc.Interpreter$Request$$anonfun$loadAndRun$1$$anonfun$apply$17.apply(Interpreter.scala:988)
at scala.util.control.Exception$Catch.apply(Exceptio...
scala> new Baz("")
res10: Baz = Baz@1845568