Prechádzať zdrojové kódy

catch type conversion error

bjarnedevel0per 7 rokov pred
rodič
commit
1b9591e07a
1 zmenil súbory, kde vykonal 4 pridanie a 0 odobranie
  1. 4 0
      Sources/SwiftSerial.swift

+ 4 - 0
Sources/SwiftSerial.swift

@@ -209,6 +209,7 @@ public enum PortError: Int32, Error {
     case mustReceiveOrTransmit
     case mustBeOpen
     case stringsMustBeUTF8
+    case unableToConvertByteToCharacter
 }
 
 public class SerialPort {
@@ -424,6 +425,9 @@ extension SerialPort {
             let bytesRead = try readBytes(into: buffer, size: 1)
 
             if bytesRead > 0 {
+                if ( buffer[0] > 127) {
+                    throw PortError.unableToConvertByteToCharacter
+                }
                 let character = CChar(buffer[0])
                 
                 if character == terminator {