add more idiomatic initializer

http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml#Avoid_Accessors_During_init_and_dealloc
cleanup and log error if we can’t call the error handler