Vertical asymptotes tend to be found whenever an x-intercept cannot be found for individual #x# values. Sometimes you just have to understand the domain of a particular function to realize where these asymptotes would be, or you can solve for them.
If you have:
#x^2/((x-2)(x+3))#
then I would expect asymptotes at #x = 2# and #x = -3#, like so:
graph{x^2/((x-2)(x+3)) [-10, 10, -5, 5]}
This one has no limit at those values because the limit from each side is different than the one from the other side (e.g. #-oo# vs. #oo#).
As an example of solving for one, set #y = 0# and solve for #x#, and you should be able to find the x-intercepts that exist.
#0 = x^2/((x-2)(x+3))#
Since you get #0 = x^2# overall, an x-intercept exists at #x = 0#, but since you had to multiply #0*(x-2)(x+3)#, neither the #x = 2# nor the #x = -3# intercepts exist.
If you have:
#tanx#
then I would expect asymptotes at #pi/2 pm pik# where #k# is an integer, like so:
graph{tanx [-10, 10, -5, 5]}
Same thing with regards to limits from either side of each vertical asymptote.
#0 = tanx = (sinx)/(cosx)#
Since #0 = sinx#, an intercept exists at #x = pmpik# where #k# is an integer, but since you had to perform #0*cosx#, asymptotes exist wherever #cosx = 0#, namely, #x = pi/2 pm pik# where #k# is an integer. Hence, #tanx# has those asymptotes.