@@ -709,8 +709,9 @@ you don't know ahead of time every error that could happen
709709while the code is running,
710710especially when propagating errors thrown somewhere else.
711711This approach also reflects the fact that errors can change over time.
712- New versions of a library can throw new errors ---
713- including libraries used by your dependencies ---
712+ New versions of a library ---
713+ including libraries that your dependencies use ---
714+ can throw new errors,
714715and the rich complexity of real-world user configurations
715716can expose failure modes that weren't visible during development or testing.
716717The error handling code in the examples above
@@ -719,26 +720,26 @@ that don't have their own specific `catch` clause.
719720
720721Most Swift code doesn't specify the type for the errors it throws.
721722However,
722- in some special cases,
723- you might limit code to throwing errors of only one specific type :
723+ you might limit code to throwing errors of only one specific type
724+ in the following special cases :
724725
725726- When running code on an embedded system
726727 that doesn't support dynamic allocation of memory.
727- Throwing an instance ` any Error ` or another boxed protocol type
728+ Throwing an instance of ` any Error ` or another boxed protocol type
728729 requires allocating memory at runtime to store the error.
729730 Throwing an error of a specific type
730731 lets Swift allocate that memory upfront instead.
731732
732733- When the errors are used only within some unit of code,
733734 like a library,
734735 and aren't part of the interface to that code.
735- Because the errors come only from the library,
736+ Because the errors come from only the library,
736737 and not from other dependencies or the library's clients,
737738 you can make an exhaustive list of all possible failures.
738739 And because these errors are an implementation detail of the library,
739- and they're always handled within that library.
740+ they're always handled within that library.
740741
741- - In code that only throws errors that were thrown elsewhere,
742+ - In code that throws only errors that were thrown elsewhere,
742743 like a function that takes a closure argument
743744 and propagates any errors from that closure.
744745 For a comparison between ` rethrows `
@@ -756,9 +757,9 @@ enum StatisticsError: Error {
756757}
757758```
758759
759- To specify that a function throws only ` StatisticsError ` values as its errors
760- you write ` throws(StatisticsError) ` when declaring the function,
761- instead of just writing ` throws ` .
760+ To specify that a function throws only ` StatisticsError ` values as its errors,
761+ you write ` throws(StatisticsError) ` instead of only ` throws `
762+ when declaring the function .
762763This syntax is also called * typed throws*
763764because you write the error type after ` throws ` --- for example:
764765
@@ -783,7 +784,7 @@ This function throws an instance of `StatisticsError` if the input isn't valid.
783784Both places in the code above that throw an error
784785omit the type of the error
785786because the function's error type is already defined.
786- You can use the short form like ` throw .noRatings `
787+ You can use the short form, ` throw .noRatings ` ,
787788instead of writing ` throw StatisticsError.noRatings `
788789when throwing an error in a function like this.
789790
@@ -847,7 +848,7 @@ the `do`-`catch` statement throws `StatisticsError` values as its errors.
847848Like other ` do ` -` catch ` statements,
848849the ` catch ` clause can either handle every possible error,
849850or it can propagate unhandled errors for some surrounding scope to handle.
850- Here, it handles all of the errors,
851+ This code handles all of the errors,
851852using a switch with one case for each enumeration value.
852853Like other ` catch ` clauses that don't have a pattern,
853854the clause matches any error
@@ -867,7 +868,7 @@ For a library that catches all of its own errors,
867868you could use this approach to ensure any new errors
868869get corresponding new code to handle them.
869870
870- If a function or ` do ` block throws only errors of a single type,
871+ If a function or ` do ` block throws errors of only a single type,
871872Swift infers that this code is using typed throws.
872873Using this shorter syntax,
873874you could write the ` do ` -` catch ` example above as follows:
0 commit comments