I cannot reproduce with the following code:Subscribing to InitializationFailed was enough in this case. Is your layer defined else where besides the code-snippet you shared (maybe XAML)?
var dynamicLayer = new ArcGISDynamicMapServiceLayer() { Url = "http://badUrl" };
dynamicLayer.InitializationFailed += (a, b) => { };
dynamicLayer.Initialize();
You can also check if subscribing to dynamicLayer.Initialized event would work.
dynamicLayer.Initialized+=(a,b) =>
{
if(dynamicLayer.InitializationFailure!= null)
{
//initialization failed
}
};