აჩერებს თუ არა გამონაკლისის გადაგდება C++ შესრულებას?
აჩერებს თუ არა გამონაკლისის გადაგდება C++ შესრულებას?

ვიდეო: აჩერებს თუ არა გამონაკლისის გადაგდება C++ შესრულებას?

ვიდეო: აჩერებს თუ არა გამონაკლისის გადაგდება C++ შესრულებას?
ვიდეო: Functions Throwing Exceptions | C++ Video Tutorial 2024, მაისი
Anonim

ჩააგდოს ჩვეულებრივ იწვევს ფუნქციას შეწყვიტოს მაშინვე, ასე რომ თქვენ თუნდაც თქვენ კეთება დააყენეთ რაიმე კოდი მის შემდეგ (იგივე ბლოკის შიგნით), ეს არ იქნება შეასრულოს . ეს ეხება როგორც C++, ასევე C#-ს.

აქედან, როგორ უნდა ჩააგდოთ გამონაკლისი C++-ში?

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

შეგიძლიათ წაშალოთ გამონაკლისი? გამონაკლისი საწყისი " წაშლა " შეუძლია არ გადაყარეთ გამონაკლისები ? Არა მაგრამ გამონაკლისების სროლა დესტრუქტორებისგან არ არის ყველაზე დიდი იდეა მსოფლიოში. შესაძლებელია წაშლა ფოო; რომ ჩააგდოს თუ foo's დესტრუქტორი ან რაღაც მას ეძახის შეუძლია გადააგდოს.

უბრალოდ, არის თუ არა გამონაკლისები ცუდი C++?

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

რა არის გამონაკლისის მართვა C++-ში?

გამონაკლისების მართვა C++-ში არის პროცესი სახელური მუშაობის დროის შეცდომები. ჩვენ ვასრულებთ გამონაკლისის დამუშავება ასე რომ, აპლიკაციის ნორმალური ნაკადი შეიძლება შენარჩუნდეს გაშვების დროის შეცდომების შემდეგაც კი. C++-ში, გამონაკლისი არის მოვლენა ან ობიექტი, რომელიც გადაყრილია გაშვების დროს. ყველა გამონაკლისები მიღებულია std:: გამონაკლისი კლასი.