# How do I prevent NIntegrate::inumr errors within other functions?

I believe this question is best illustrated with a simple example. If I run

FunctionInterpolation[NIntegrate[a + b, {a, 0, 1}], {b, 0, 1}]


I get errors of the form

NIntegrate::inumr: The integrand a+b has evaluated to non-numerical values for all
sampling points in the region with boundaries {{0,1}}.


So I guess Mathematica is evaluating the expression before plugging in values and trying to interpolate it. Admittedly the code does yield apparently correct results, so I could just turn off the error message and be done with it, but I'd like to address the root cause if possible. Is there some more correct way to do what I'm trying to do that would not spit out an error message in the first place?

-

int[b_?NumericQ] := NIntegrate[a + b, {a, 0, 1}]