【问题标题】:Kotlin socket property getter should I check for exception?Kotlin 套接字属性获取器我应该检查异常吗?
【发布时间】:2021-08-13 04:34:36
【问题描述】:

我正在用 Kotlin 编写一个 Android 蓝牙客户端应用程序。现在我正在尝试从连接的套接字获取OutputStream
用Java编写时,我必须检查IOException

OutputStream stream;
try
{
    stream = socket.getOutputStream();
}
catch(IOException e)
{ ... }

但是在Kotlin中,好像可以直接通过getter获取对象

val streamOut : OutputStream = socket.outputStream

问题是我也应该检查IOExecption 吗?还是socket.connect()步骤中已经设置了输出流?

【问题讨论】:

    标签: android sockets kotlin


    【解决方案1】:

    Java 对异常非常严格。每当您编写可能引发异常的代码时,您需要捕获它或使用throws 标记您自己的方法。 Kotlin 不需要这个,你不会强制捕获异常,但这并不意味着它会自动为你或其他东西神奇地处理错误。 socket.outputStream 可能会抛出异常,所以你需要为这种情况做好准备。如果省略catch {} 块,则在出错的情况下,它将通过调用堆栈传播。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 2011-11-18
      • 2021-09-09
      相关资源
      最近更新 更多