Example 1

Plot3D[(x^2-y^2)/(x^2+y^2),{x,-2,2},{y,-2,2},PlotPoints->100]

Show[
Plot3D[(x^2-y^2)/(x^2+y^2),{x,-2,2},{y,-2,2},PlotPoints->100,AxesLabel->{"x","y","z"}],
ParametricPlot3D[({x,y,(x^2-y^2)/(x^2+y^2)}/.{y->0}),{x,-2,2},PlotStyle->{Red,Tube[.05]}],
ParametricPlot3D[({x,y,(x^2-y^2)/(x^2+y^2)}/.{x->0}),{y,-2,2},PlotStyle->{Blue,Tube[.05]}],
PlotRange->All
]

Example 2

Plot3D[(x*y)/(x^2+y^2),{x,-2,2},{y,-2,2},PlotPoints->100]

Show[
Plot3D[(x*y)/(x^2+y^2),{x,-2,2},{y,-2,2},PlotPoints->100,AxesLabel->{"x","y","z"}],
ParametricPlot3D[({x,y,(x*y)/(x^2+y^2)}/.{y->0}),{x,-2,2},PlotStyle->{Red,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y)/(x^2+y^2)}/.{x->0}),{y,-2,2},PlotStyle->{Blue,Tube[.04]}],
PlotRange->All
]

Show[
Plot3D[(x*y)/(x^2+y^2),{x,-2,2},{y,-2,2},PlotPoints->100,AxesLabel->{"x","y","z"}],
ParametricPlot3D[({x,y,(x*y)/(x^2+y^2)}/.{y->0}),{x,-2,2},PlotStyle->{Red,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y)/(x^2+y^2)}/.{x->0}),{y,-2,2},PlotStyle->{Blue,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y)/(x^2+y^2)}/.{y->x}),{x,-2,2},PlotStyle->{Green,Tube[.04]}],
PlotRange->All
]

Example 3

Plot3D[(x*y^2)/(x^2+y^4),{x,-2,2},{y,-2,2},PlotPoints->300]

Show[
Plot3D[(x*y^2)/(x^2+y^4),{x,-2,2},{y,-2,2},PlotPoints->100,AxesLabel->{"x","y","z"}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{y->0}),{x,-2,2},PlotStyle->{Red,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{x->0}),{y,-2,2},PlotStyle->{Blue,Tube[.04]}],
PlotRange->All
]

Show[
Plot3D[(x*y^2)/(x^2+y^4),{x,-2,2},{y,-2,2},PlotPoints->100,AxesLabel->{"x","y","z"}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{y->0}),{x,-2,2},PlotStyle->{Red,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{x->0}),{y,-2,2},PlotStyle->{Blue,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{y->x}),{x,-2,2},PlotStyle->{Green,Tube[.04]}],
PlotRange->All
]

Show[
Plot3D[(x*y^2)/(x^2+y^4),{x,-2,2},{y,-2,2},PlotPoints->100,AxesLabel->{"x","y","z"}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{y->0}),{x,-2,2},PlotStyle->{Red,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{x->0}),{y,-2,2},PlotStyle->{Blue,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{y->2x}),{x,-2,2},PlotStyle->{Purple,Tube[.04]}],
PlotRange->All
]

ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{y->2x}),{x,-2,2},PlotStyle->{Purple,Tube[.04]},PlotRange->2]

Show[
Plot3D[(x*y^2)/(x^2+y^4),{x,-2,2},{y,-2,2},PlotPoints->100,AxesLabel->{"x","y","z"}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{y->0}),{x,-2,2},PlotStyle->{Red,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{x->0}),{y,-2,2},PlotStyle->{Blue,Tube[.04]}],
ParametricPlot3D[({x,y,(x*y^2)/(x^2+y^4)}/.{x->y^2}),{y,-2,2},PlotStyle->{Magenta,Tube[.04]}],
PlotRange->{{-2,2},{-2,2},.7{-1,1}}
]

Notice that the limit exists everywhere else!