- >我們如何write a scala method
返回類型是Nothing
?編寫一個scala方法返回Nothing
- >我們是否ever need to write such methods
?有沒有useful scenarios
?
- >我們如何write a scala method
返回類型是Nothing
?編寫一個scala方法返回Nothing
- >我們是否ever need to write such methods
?有沒有useful scenarios
?
您不能實際返回類型爲Nothing
的值,因爲沒有類型爲Nothing
的值。所以定義返回類型爲Nothing
的函數的唯一方法是永遠不會返回。
一個例子是一個函數,它只是遞歸地無限調用自己。另一個總是拋出異常或者退出應用程序(sys.exit
的返回類型爲Nothing
)。
其實,沒有什麼是使用功能,這永遠不會返回或通過拋出一些例外 如abnormaly終止:
scala> def funcReturnNothing : Nothing = throw new RuntimeException("runtime exception")
funcReturnNothing: Nothing
更多的解釋。 Scala中的函數在其返回類型中是協變化的假設函數的返回類型爲T
,所以此函數只能返回T
的子類型或T
和Nothing
類型的值是所有其他類型的子類型(最低類型鏈)所以,實際上你不能返回任何有用的東西,但拋出異常的類型爲Nothing
,你可以返回。