it-swarm.com.de

Swift: Innerhalb des 'try'-Ausdrucks treten keine Aufrufe zum Auslösen von Funktionen auf

Ich versuche Prozesszeichenfolge und set "try"

var str = String()
do{
    let str = try self.processMyString(strToProcess)

}catch{

}

Aber ich bekomme diesen Fehler:

no calls to throwing functions occur within 'try' expression

Jeder von Ihnen weiß warum von diesem Fehler oder wie kann ich ihn beheben?

Ich werde Ihre Hilfe wirklich schätzen.

7
user2924482

Wenn Ihre Funktion Fehler verursachen kann, definieren Sie sie so

func canThrowErrors() throws -> String 

wie gefunden hier

Dann können Sie den Versuch wie gewohnt verwenden.

4
transistor

processMyString ist nicht throw, es gibt also keinen Grund, dass es sich in einem do/catch-Block befindet.

Außerdem deklarieren Sie eine lokale Konstante let mit dem Namen str, die die äußere Variable var mit dem Namen str überschattet, die Sie wahrscheinlich nicht beabsichtigt haben.

Mach einfach das:

let str = self.processMyString(strToProcess)
1
Alexander