ajaxComplete doesn't fire on 404 (should it?)

ajaxComplete doesn't fire on 404 (should it?)

I searched around for this, but couldn't find any mention of it...
which seems a bit spooky, but I'll post it anyway. In this code:
$("#complete").ajaxComplete( function(){ $(this).text("complete"); });
$("#start")
    .ajaxStart(function(){$(this).text("start")})
    .ajaxStop(function(){$(this).text("Stop")});
$.ajax({ type:"get", url:"iDontExist.php" });
If the request 404's, then neither the ajaxComplete or ajaxStop events
fire. In the jQuery ajax code (line 455 in 1.4pre) it says:
// Send the data
try {
    xhr.send( type === "POST" || type === "PUT" ? s.data : null );
} catch(e) {
    jQuery.handleError(s, xhr, null, e);
}
But nothing is done to call the complete() method. If I whack a call
to complete() in the catch block then everyone looks happy (perhaps...
I don't know if you can get the status of the request as 404?).
Anyhoo... my question is - is this expected behaviour? That is, does
"ajaxComplete" not fire because technically the request didn't
complete or something?
Thanks!
Earle.
--