No, d' cannot be computed when an observed hit_rate is 1 or fa_rate is zero. One of the most common work-arounds for this problem is to replace hit_rate of 1 with 1-1/(2*n), where n is the number of observations that went into the computation of hit_rate. (You can think of this as the average of the observed hit rate and the hit rate that would have been observed if there had been one miss. Alternatively, you can think of it as the observed hit rate with 1/2 of a miss.)
Similarly, replace fa_rate = 0 with 1/(2*n), as if there had been 1/2 of a false alarm.