current={0.002,0.058,0.099,0.204,0.337,0.401,0.507,0.619,0.705,0.807,0.902,1.005,1.143,1.224,1.342,1.418,1.518,1.588,1.705,1.818,1.92,2.015}; (*Spulenstrom in [A]*)
currentU={0.005,0.006,0.006,0.008,0.01,0.011,0.013,0.014,0.016,0.017,0.019,0.02,0.022,0.023,0.025,0.026,0.028,0.029,0.031,0.032,0.034,0.035}; (*Unsicherheit Spulenstrom in [A]*)

bfield={0,0.12,0.21,0.44,0.72,0.86,1.09,1.34,1.52,1.74,1.95,2.18,2.47,2.65,2.91,3.07,3.3,3.45,3.69,3.94,4.17,4.36};  (*Magnetfeld in [mT]*)bfieldU={0.01,0.01,0.01,0.02,0.02,0.03,0.03,0.04,0.04,0.04,0.05,0.05,0.06,0.06,0.07,0.07,0.08,0.08,0.08,0.09,0.09,0.1};  (*Unsicherheit Magnetfeld in [mT]*)

Mathematica v12 und höher

curr=Table[Around[current[[i]],currentU[[i]]],{i,1,Length@current}]
magn=Table[Around[bfield[[i]],bfieldU[[i]]],{i,1,Length@bfield}]

(*fitte mich*)
(*fitte mich*)
(*fitte mich*)
(*fitte mich*)
fit=LinearModelFit[..,Weights->...,VarianceEstimatorFunction->(1&)];
fit["ParameterTable"]

Show[{
ListPlot[Transpose[{curr,magn}],PlotTheme->"Scientific",PlotStyle->Black,IntervalMarkers->"Bars"],
Plot[fit[i],{i,0,2.1},PlotStyle->Gray]
}]

Mathematica v11.3 und tiefer

Needs["ErrorBarPlots`"] (*einmal ausführen*)

(*fitte mich*)
(*fitte mich*)
(*fitte mich*)
(*fitte mich*)
fit=LinearModelFit[..,Weights->...,VarianceEstimatorFunction->(1&)];
fit["ParameterTable"]

dataPoints=Transpose[{current,bfield}];
plotData=Transpose[{dataPoints,Thread[ErrorBar[currentU,bfieldU]]}];
Show[{
ErrorListPlot[plotData,PlotStyle->Directive[{PointSize[0.01],Black}],PlotTheme->"Scientific"],
Plot[fit[i],{i,0,2.1},PlotStyle->Gray]
}]