Я тестировал крошечный фрагмент, который я написал для форматирования временного интервала (например, last change 5m23s ago
), и продолжал получать ошибку, которую я не мог понять.Каждый раз, когда я пытаюсь использовать переменную цикла i
непосредственно при вызове ts()
, ASP сообщает мне An error occurred...
'the function
function ts(s)
dim m: m = CLng(s \ 60): s = s mod 60
dim h: h = CLng(m \ 60): m = m mod 60
ts = right("00" & h, 2) & "h" & _
right("00" & m, 2) & "m" & _
right("00" & s, 2) & "s"
end function
'the test
for i = 0 to 90000 step 15
' response.write i & ": " & ts(i) & "<br />" 'an error has occurred
dim j: j = i : response.write i & ": " & ts(j) & "<br />" 'works fine
next
Что здесь происходит в мире?
Почему ts(i)
каждый раз создает ошибку?
Учитывая это, почему j=i : ts(j)
работает нормально?
Это не может быть проблемой с переменной i
, так как она отлично работает с вызовом записи.Вот некоторые другие вещи, которые я попробовал:
response.write i & ": " 'no problem
'response.write ts(i) 'crashes
'dim x: x = ts(i) 'crashes
dim j: j = i 'no problem
dim x: x = ts(j) 'works
response.write x & "<br />" 'works
'response.write ts(j) & "<br />" 'also works
'response.write i & ": " & ts(j) & "<br />" 'also works
(Наконец, я знаю, что якобы есть способ заставить IIS отображать реальные ошибки. Мне бы хотелось услышать, как это сделать без доступа RDP к веб-серверу.)