I got this code in my Playground:
func throwsError() throws{
var x = [1,2]
print(x[3])
}
func start(){
do{
try throwsError()
}
In Swift, you can't catch anything. You can only catch errors thrown with the throw statement in other Swift code or errors, of type NSError set by called Objective C code.
The default array subscript raises an exception, but does not throw a Swift error, so you cannot use try/catch with it.
See also this article by Erica Sadun.