انواع مختلفی از مدیریت خطا و منابع را پیادهسازی کنید.
یکی از نکات مهم در برنامهنویسی این است که چگونه خطاها را مدیریت کنیم و منابع را حتی وقتی خطا رخ میدهد ببندیم.
این تمرین از شما میخواهد که خطاهای مختلفی را مدیریت کنید. از آنجا که مدیریت خطا تا حد زیادی به زبان برنامهنویسی بستگی دارد، باید به تستهای مربوط به track خود مراجعه کنید تا ببینید دقیقاً چه چیزی لازم است.
این تمرین از شما میخواهد که استثناها را مدیریت کنید. استثنا رویدادی است که در حین اجرای یک برنامه رخ میدهد و جریان عادی دستورهای برنامه را مختل میکند.
در Java دو نوع استثنا وجود دارد: استثناهای بررسیشده و استثناهای بررسینشده.
استثناهای بررسیشده استثناهایی هستند که در زمان کامپایل بررسی میشوند.
باید آنها را در امضای متد هر متدی که ممکن است یک استثنای بررسیشده را پرتاب کند اعلام کنید و هنگام فراخوانی هر متدی که ممکن است استثنای بررسیشده را پرتاب کند، آنها را مدیریت کنید یا دوباره پرتاب کنید.
دلیلش این است که استثناهای بررسیشده قرار است در زمان اجرا مدیریت شوند؛ یعنی خطاهایی هستند که میتوانید از آنها بازیابی کنید.
آنها اغلب زمانی استفاده میشوند که یک متد نمیتواند هیچ نتیجهی معتبری برگرداند؛ برای مثال یک متد جستوجو که نتوانسته موردِ جستوجویش را پیدا کند.
این روش جایگزینی برای برگرداندن null یا یک کد خطا است. یک استثنای بررسیشده از آن جایگزینها بهتر است، چون استفادهکنندهی متد را وادار میکند که حالت خطا را در نظر بگیرد.
استثناهای بررسینشده استثناهایی هستند که در زمان کامپایل بررسی نمیشوند.
لازم نیست آنها را در امضای متد متدهایی که ممکن است یک استثنای بررسینشده را پرتاب کنند اعلام کنید و هنگام فراخوانی هر متدی که ممکن است استثنای بررسینشده را پرتاب کند، آنها را مدیریت کنید یا دوباره پرتاب کنید.
استثناهای بررسینشده معمولاً در اثر نقصهای برنامه ایجاد میشوند و با کدنویسی درست میتوان از آنها جلوگیری کرد. مثال: میتوان با اطمینان از اینکه اندیسهای آرایه بین ۰ و طول آرایه باشند، از ArrayIndexOutOfBoundsException جلوگیری کرد.