Grouping throwing expressions using tuplesBasics article available: Error Handling
Tuples can not only be super useful in order to group multiple related local variables into one, but can also be a great way to combine several throwing expressions.
// Here we have three highly related expressions that are // all throwing, requiring separate assignments and separate // 'try' keywords: let contentFolder = try Folder.current.subfolder(named: "content") let templatesFolder = try Folder.current.subfolder(named: "templates") let output = try Folder.current.createSubfolderIfNeeded(withName: "output") // By combining them all into a tuple, we only need one // 'try', and can easily group our data into a single, // lightweight container: let folders = try ( content: Folder.current.subfolder(named: "content"), templates: Folder.current.subfolder(named: "templates"), output: Folder.current.createSubfolderIfNeeded(withName: "output") ) // The call sites also become really nice and clean, with // increased "namespacing" for our local variables: readFiles(in: folders.content) loadTemplates(from: folders.templates)
Enter Manning’s September Showdown — a 30-day challenge that gives developers a chance to test their knowledge against their peers. A new trivia question, and a brand new prize to win, is published every day throughout September.