როგორ შემიძლია ავხსნა შეცდომისა და გამონაკლისის სხვაობა იმ ადამიანს, ვინც პროგრამირებაში არ არის კარგი?


პასუხი 1:

ასე წარმოვიდგენდი განსხვავებას შეცდომასა და გამონაკლისს შორის.

შეცდომა:

აქ თქვენ ცდილობთ თქვენი პროგრამის გატარებას, მაგრამ სამწუხაროდ, რატომღაც ბატონი გარემო თქვენზე გადააგდებს დიდ ქვას.

ასე რომ, წარმოიდგინეთ, თუ ამ უზარმაზარი ქვის დაჭერას შეეცდებით (ე.ი. შეცდომის მკურნალობა) ეს ცუდად შეგაწუხებთ!

შეცდომები ხდება დროს გაშვების დროს. შეცდომების გამოსწორება შეუძლებელია. ამიტომ შეცდომები არ უნდა დაიჭირონ. მაშინაც კი, თუ შეცდომას შეამჩნევთ (წარმოიდგინეთ ეს დიდი ქვა), ვერ გამოჯანმრთელდებით ამისგან

გამონაკლისი:

აქ თქვენ ცდილობთ თქვენი პროგრამის გატარებას, მაგრამ სამწუხაროდ, რაიმე მიზეზით, მისტერ განაცხადმა თქვენში პატარა ქვა (გამონაკლისი) გადააგდოთ

ახლა თქვენ შეგიძლიათ სცადოთ დაჭერა ან ფეხით ამ პატარა ქვა.

თუ წახვალ, ეს დააზარალებს და თუ დაჭერა, შენ დაზოგავ თავს!

თუ გამონაკლისი ხდება, შეგიძლიათ მკურნალობა ბლაკებით. ამის საფუძველზე არსებობს მთელი კონცეფცია, რომელსაც ეწოდება გამონაკლისის გატარება.

______________________________________________________

ეს არ არის შესანიშნავი მაგალითი, რომ წარმოვიდგინოთ შეცდომები გამონაკლისისგან. შეგიძლიათ კიდევ ბევრ მაგალითზე იფიქროთ და უფრო აქტუალური გახადოთ ისინი. ზოგიერთ პროგრამისტს შეიძლება არ მოსწონთ ეს ახსნა. თუმცა, ეს ნახაზი საკმარისია, რომ ახსნას ის ადამიანი, რომელიც პროგრამირებაში არ არის კარგი :)

ცნობისთვის:

  • ჯავაში შეცდომებსა და გამონაკლისებს შორის სხვაობა სხვაობა შეცდომებს და გამონაკლისებს ჯავაში - ინტერვიუ კითხვაზე

პასუხი 2:

Java- ს კონტექსტში, გამონაკლისი, ძირითადად, გამოწვეულია პროგრამისტის კოდში არსებული ლოგიკური შეცდომით ან გარკვეული სიტუაციების პროაქტიული მართვით. წარუმატებლობის შედეგია გარემოში, რომელიც აწყდება სიტუაციას, რომელშიც იგი ვერ შეძლებს მოქმედების გაგრძელებას, შეუძლია შეაჩეროს და ამით შეწყვიტოს მასზე განთავსებული განაცხადის შესრულება.

ზოგიერთი შეცდომა შეიძლება გამოწვეული იყოს ცუდად დაწერილი პროგრამებით, მაგ. მაგალითად, მეხსიერების გაჟონვა (არასასურველი ობიექტების შენარჩუნება სავარაუდო ხანგრძლივობის ან არეალის მიღმა) გამოიწვევს OutOfMemoryError- ს. სხვა შეცდომები შეიძლება მოხდეს გაშვების გარემოს დანიშვნისას.


პასუხი 3:

Java- ს კონტექსტში, გამონაკლისი, ძირითადად, გამოწვეულია პროგრამისტის კოდში არსებული ლოგიკური შეცდომით ან გარკვეული სიტუაციების პროაქტიული მართვით. წარუმატებლობის შედეგია გარემოში, რომელიც აწყდება სიტუაციას, რომელშიც იგი ვერ შეძლებს მოქმედების გაგრძელებას, შეუძლია შეაჩეროს და ამით შეწყვიტოს მასზე განთავსებული განაცხადის შესრულება.

ზოგიერთი შეცდომა შეიძლება გამოწვეული იყოს ცუდად დაწერილი პროგრამებით, მაგ. მაგალითად, მეხსიერების გაჟონვა (არასასურველი ობიექტების შენარჩუნება სავარაუდო ხანგრძლივობის ან არეალის მიღმა) გამოიწვევს OutOfMemoryError- ს. სხვა შეცდომები შეიძლება მოხდეს გაშვების გარემოს დანიშვნისას.