Строки и символы. Возможные ошибки: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) Нет описания правки |
Mikst (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
===Ошибка при преобразовании строки в число=== | |||
var | |||
s: string := 'z123'; | |||
i: integer; | |||
begin | |||
// Первый способ - обработка исключений | |||
try | |||
i := StrToInt(s); | |||
except | |||
writeln('Ошибка преобразования'); | |||
end; | |||
var errcode: integer; | |||
// Второй способ - процедура Val | |||
Val(s,i,errcode); | |||
if errcode>0 then | |||
writeln('Ошибка преобразования') | |||
else writeln('Преобразованное число ',i); | |||
end. | |||
===Выход за границы строки=== | |||
<source lang="Delphi">var | |||
s: string := 'ABC'; | |||
begin | |||
s[4] := '!'; // Ошибка времени выполнения: индекс находится вне границ строки | |||
end.</source> | |||
== Ссылки == | == Ссылки == | ||
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]] | [[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]] |
Версия от 15:40, 19 января 2010
Ошибка при преобразовании строки в число
var
s: string := 'z123'; i: integer;
begin
// Первый способ - обработка исключений try i := StrToInt(s); except writeln('Ошибка преобразования'); end; var errcode: integer; // Второй способ - процедура Val Val(s,i,errcode); if errcode>0 then writeln('Ошибка преобразования') else writeln('Преобразованное число ',i);
end.
Выход за границы строки
var
s: string := 'ABC';
begin
s[4] := '!'; // Ошибка времени выполнения: индекс находится вне границ строки
end.