Sobes.tech
Junior — Middle

Ի՞նչ տարբերություն կա ծրագրի գործարկման ժամանակ առաջացած սխալի և կոմպիլյացիայի ժամանակ հայտնաբերված սխալի միջև։

sobes.tech AI

Պատասխան AI-ից

Սխալ, որը հայտնաբերվում է կոմպիլյացիայի ժամանակ (կոմպիլյացիայի ժամանակի սխալ), տեղի է ունենում ծրագրի կոմպիլյացիայի փուլում։ Դրանք են սինտաքսիկ սխալներ, տիպերի սխալներ, անհրաժեշտ հղումների բացակայություն և այլ խնդիրներ, որոնք խոչընդոտում են գործարկելի կոդի ստեղծմանը:

Ընթացիկ սխալը (runtime error) արդեն տեղի է ունենում ծրագրի գործարկման ժամանակ, երբ կոմպիլյացիան հաջողությամբ ավարտվել է։ Դրանք կարող են լինել արտահայտություններ, զրոյով բաժանում, զանգվածի սահմաններից դուրս մուտք, հիշողության մուտքի սխալներ և այլ իրավիճակներ, որոնք հայտնվում են միայն ծրագրի աշխատանքի ժամանակ:

Օրինակ՝

// Կոմպիլյացիայի սխալ՝
int x = "տող"; // չի կարելի տողը վերագրել int տիպի փոփոխականի

// Գործարկման ժամանակի սխալ՝
int[] arr = new int[3];
int y = arr[5]; // IndexOutOfRangeException գործարկման ժամանակ

Այսպիսով, կոմպիլյացիայի սխալները խոչընդոտում են ծրագրի գործարկմանը, իսկ գործարկման ժամանակի սխալները հայտնվում են միայն նրա աշխատանքի ընթացքում։