+1 for keeping failable initializers. Error handling should be reserved for 
errors and not be used for control flow or logic.

-Thorsten 

> Am 27.12.2015 um 18:11 schrieb Chris Lattner via swift-evolution 
> <swift-evolution@swift.org>:
> 
>> On Dec 27, 2015, at 5:22 AM, Manfred Lau via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> I just found that the design of failable initializer is redundant in Swift 
>> 2. Because native error handling already has been introduced in Swift 2, and 
>> failable initializer indeed could be achieved by following codes:
> 
> I’d be opposed to removing failable initializers.  Failable inits introduce a 
> symmetry into the language for initializers, which make them possible to do 
> (almost) all of what you can do with a normal method.  This capability is key 
> for them to be able to replace “factory” static methods, which allows Swift 
> to offer a consistent initialization pattern for clients of types.
> 
> If we forced people to use error handling for anything that could return nil, 
> then things like String to Int conversions would most likely not use 
> initialization syntax.
> 
> Besides that, over use of error handling waters it down and makes it less 
> valuable in itself.  For more information on this, please see the design 
> discussion for error handling:
> https://github.com/apple/swift/blob/master/docs/ErrorHandlingRationale.rst
> 
> -Chris
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to