menusearch
javapro.ir

♨️ جلسه بیست و نهم - Exceptions (استثناها)

جستجو
شنبه ۶ مرداد ۱۴۰۳ | ۶:۴۷:۵۷
۱۳۹۵/۱۱/۳ یکشنبه
(4)
(0)
♨️ جلسه بیست و نهم - Exceptions (استثناها)
♨️ جلسه بیست و نهم - Exceptions (استثناها)

فهرست جلسات دوره مقدماتی جاوا

مقدمه اول | جاوا چیست؟

مقدمه دوم | تاریخچه جاوا

مقدمه سوم | ویژگی‌های زبان جاوا

جلسه اول | راهنمای دانلود و نصب JDK

جلسه دوم | اجرای یک برنامه جاوا در Notepad

جلسه سوم | راهنمای دانلود و نصب Eclipse

جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse

جلسه پنجم | متغیر ها در جاوا

جلسه ششم | تغییر فونت محیط Eclipse

جلسه هفتم | عملگر‌های پایه ای جاوا

جلسه هشتم | دستورات شرطی

جلسه نهم | اشیا و کلاس ها

جلسه دهم | ورودی گرفتن

جلسه یازدهم | حلقه‌های کنترلی

جلسه دوازدهم | کلمه کلیدی static

جلسه سیزدهم | کلاس Math

جلسه چهاردهم | کلاس String

جلسه پانزدهم | آرایه‌های یک بعدی

جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)

جلسه هفدهم | متدها در جاوا

جلسه هجدهم | کلمه کلیدی this

جلسه نوزدهم | کلاس‌های داخلی

جلسه بیستم | ارث بری در جاوا

جلسه بیست و یکم | کلمه کلیدی final

جلسه بیست و دوم | Overriding در جاوا

جلسه بیست و سوم | Polymorphism( چند ریختی)

جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید

جلسه بیست و پنجم | Abstraction( انتزاع)

جلسه بیست و ششم | Encapsulation(کپسوله سازی)

جلسه بیست و هفتم | اینترفیس (Interface)

جلسه بیست و هشتم | کلاس Random

جلسه بیست و نهم | Exceptions (استثناها)

جلسه سی ام | کار با فایل در جاوا(Files and I/O)

جلسه سی و یکم | کلاس InputStreamReader

جلسه سی و دوم | کلاس OutputStreamWriter

جلسه سی و سوم | کلاس BufferedReader

جلسه سی و چهارم | کلاس BufferedWriter

جلسه سی و پنجم | Serialization در جاوا

جلسه سی و ششم | چندنخی(Multithreading)

جلسه سی و هفتم | آرایه دو بعدی در جاوا

جلسه سی و هشتم | کلاس ArrayList در جاوا

جلسه سی و نهم | Non Access Modifier در جاوا

 

دوره رایگان مقدماتی زبان جاوا

 

اگه میخوای موارد زیر از جاوا رو بدونی جلسه بیست و نهم رو دانلود کن


Exceptions (استثناها)


علت های رخ دادن Exceptions (استثناها)


Checked exceptions


Unchecked exceptions


Errors ( خطاها)


برخی از متدهای کلاس Exception


کنترل و مدیریت استثناها


try – catch


Blocks ( استفاده از چند بلوک catch )


کلمات کلیدی Throws/Throw


بلوکFinally


ایجاد استثنا برای کاربر


روش تولید استثنا


سلسله مراتب استثناها


تفاوت میان کلمات کلیدی Throw و Throws


تمامی مفاهیم با مثال ساده توضیح داده شده است


به Exception در فارسی استثنا می‌گویند.


Exception (استثنا) چیست؟

یک exception در برنامه نویسی مشکلی است که در طول اجرای یک برنامه رخ می‌دهد.هنگامی که یک استثنا یا اکسپشن (exception) رخ می‌دهد، جریان طبیعی برنامه مختل و برنامه بصورت غیر طبیعی خاتمه می‌یابد.


در کل و به زبان ساده به خطاهای قابل کنترل و تصحیحی که هنگام اجرای برنامه رخ می‌دهد و باعث توقف جریان طبیعی برنامه می‌شود Exception (استثنا) می‌گوییم.


شما شاید با مفهوم استثنا تازه دارید آشنا می‌شوید اما احتمالا حداقل یکبار هنگام اجرای برنامه با خطاهای زیر برخورد کرده اید!!!!

 

exception در جاوا

 

همه این تصاویر بالا گویای رخ دادن استثنا هنگام اجرای برنامه جاوا در Eclipseهستش که به این خطاها Exception (استثنا) می‌گوییم.
خب جاوا برای کنترل این Exceptions (استثناها) ابزارهایی را پیش بینی کرده است!!


برخی از Exceptions (استثناها) خیلی معروف هستند از بس که اتفاق می‌افتند و برخی هم کمتر معروف اند:
مثلا:
•    Exceptions (استثناهای) زیر مربوط به خطاهایی است که در عملیات ریاضی احتمال دارد دهند:
مثلا اگر یک عدد را بر صفر تقسیم کنیم جواب مبهم است،در برنامه نویسی نیز اگر یک عدد را بر صفر تقیسم کنیم Exception (استثنا) زیر اتفاق می‌افتد.

 

آشنایی با انواع exception در جاو

 

•    Exception (استثنا) زیر مربوط به اندیس های خانه آرایه است،وقتی که خانه آرایه ای با اندیس یا شماره ای بیشتر تعداد خانه های آرایه یا طول آرایه صدا می‌زنیم.

 

کنترل استثناها در زبان برنامه نویسی جاوا

 

•    اگر آرایه ای را صدا بزنیم که مقدار عناصر درون آن پوچ یا null باشد Exception (استثنا) زیر رخ می‌دهد:

 

آشنایی با try catch در جاوا

 

ما Exceptions (استثناهای) زیادی در جاوا داریم و قصد نداریم به معرفی انواع استثناها در جاوا بپردازیم و هدف از مثالهای بالا اشنایی و درک بهتر Exceptions (استثناها) در جاواست.


خب جاوا دستورالعمل هایی پیش بینی کرده که می‌توانیم با کمک آنها در جاهایی از کدهای برنامه نویسی خود که احتمال رخ دادن Exceptions (استثناها) را می‌دهیم این استثناها را کنترل و مدیریت کنیم.یعنی با مدیریت استثناها حداقل باعث شویم که اگر خطایی رخ داد ،روند اجرای طبیعی برنامه را مختل و متوقف نکند.


علت های رخ دادن Exceptions (استثناها) :
یک استثنا به دلایل مختلفی ممکن است رخ دهد.در زیر برخی از حالاتی که در آن Exceptions (استثناها) رخ میدهد آورده شده است:


•    وقتی که کاربر داده های نامعتبر و بی ربط وارد کند.

      مثلا متغیر ما از نوع رشته است اما کاربر یک عدد وارد می‌کند.


•    وقتی ما میخواهیم یک فایل را باز و بخوانیم اما آن فایل در سیستم وجود نداشته باشد. (در جلسات آینده کار با فایل را خواهیم آموخت)


•    Null یا پوچ بودن مقدار متغیرها


•    عملیات ریاضی که جواب منطقی ندارد مثل تقسیم عدد بر صفر


•    انتخاب اندیسی از آرایه که بیشتر از طول آرایه است


•    و.......


برخی از استثناها توسط کاربر یعنی کسی که از برنامه استفاده می‌کند رخ می‌دهد، برخی توسط خود برنامه نویسی که برنامه رو نوشته رخ می‌دهد و برخی دیگر توسط منابع فیزیکی رخ میدهد.


در کل Exceptions (استثناها) را به سه دسته می‌توان تقسیم کرد،که با درک و فهمیدن آنها می‌توانید Exceptions (استثناها) برنامه خود را مدیریت و کنترل کنید.


1)    Checked exceptions :
استثناها و خطاهایی که زمان کامپایل برنامه اتفاق می‌افتد و استثنای زمان کامپایل (compile time exceptions) نامیده می‌شود. خب استثنای زمان کامپایل در جاوا دیگه خیلی مشخص هست خود برنامه Eclipse هنگام کدزنی با خطوط قرمز این خطاها را برای ما مشخص کرده و هشدار می‌دهد و برنامه نویس به سادگی نمی‌تواند از آن بگذرد و یک برنامه نویس باید این خطاها را کنترل کند.

 

مثالی که برای استثنای زمان کامپایل (compile time exceptions) می‌توان زد کلاس FileReader هستش که از طریق ان می‌توانید داده های درون یک فایل را بخوانید، خب امکان داره فایل مربوطه در کامپیوتر شما وجود نداشته باشد و احتمال رخ دادن Exception (استثنا)  FileNot found Exception وجود دارد، دیگه برای استثنای زمان کامپایل (compile time exceptions) رخ می‌دهد یعنی بدون اجرای برنامه، به شما احتمال رخ دادن خطا هشدار داده خواهد شده و شما به عنوان یک برنامه نویس باید بتوانید این خطا را مدیریت کنید.

 

package javalike_Exception;

import java.io.File;
import java.io.FileReader;

public class Test {

   public static void main(String[] args) {
       File file = new File("E://file.txt");
    FileReader fr = new FileReader(file);
   }



•    خط سبز رنگ استثنای زمان کامپایل (compile time exceptions) رخ می‌دهد.

 

آموزش exception در زبان برنامه نویسی جاوا

 

•    اگر شما کد بالا را اجرا کنید با خطای زیر برخورد میکنید:

 

آشنایی با throw throws در جاوا

 

کامپایلر برای محکم کاری میگه باید این استثنا را مدیریت و کنترل کنید که اگر هم فایلی در کامپیوتر وجود نداشت روند اجرای طبیعی برنامه متوقف نشود.

 

مثال کلاس FileReader را کلا فراموش کنید چون ما هنوز کار با فایل رو شروع نکردیم و تنها گزینه مناسبی برای مثال زدن در مورد استثنای زمان کامپایل (compile time exceptions) بود که زدیم پس اصلا نگران مفاهیم این موضوع کار با فایل نشید چون در جلسه ای جداگانه در آینده قشنگ بررسیش می‌کنیم 😊

 

2)    Unchecked exceptions :
Exceptions (استثناهای) که در زمان اجرای برنامه اتفاق می‌افتند، این استثناها، استثناهای زمان اجرا (Runtime Exceptions) نامیده می‌شوند. از نمونه باگ های (اشکالات) برنامه نویسی که شامل این نوع استثناها است می‌توان به خطاهای منطقی که در زمان اجرای برنامه رخ می‌دهد اشاره کرد.


نکته : به اشکالات و گیرهایی که در برنامه نویسی اتفاق می‌افتد باگ (bug) می‌گویند.


برای مثال، اگر شما یک آرایه را با اندازه 5 در برنامه خود تعریف کرده باشید و قصد دارید عنصر خانه 6 آرایه را صدا بزنید برنامه دچار استثنا Array index OutOfBoundsExceptionexception می‌شود.


مثال :

 

package javalike_Exception;

public class Test {

   public static void main(String[] args) {
       int num[] = { 1, 2, 3, 4 };
       System.out.println(num[5]);
   }

}


خروجی:اگر برنامه را اجرا کنید با استثنای زیر برخورد می‌کنید.

 

Exception in thread "main" java.lang.Array index OutOfBoundsException: 5
at javalike_Exception.Test.main(Test.java:10)

 

توضیحات:

 

int num[] = { 1, 2, 3, 4 };


•    اندازه و تعداد خانه های آرایه 4 است.

 

System.out.println(num[5]);


•    ما عنصر خانه پنجم آرایه را صدا زده ایم، از آنجایی که اندازه آرایه ما 4 است با استثنایی که در خروجی نمایش داده شده برخورد می‌کنیم.

 

3)    Errors ( خطاها):
همه اشکالات و گیرهایی که هنگام اجرای برنامه اتفاق می‌افتد استثنا (Exception) نیستند!!!! به طور کلی هر خطایی استثنا نیست!!!! در کل مشکلات و گیرهایی که خارج از کنترل کاربر یا برنامه نویس باشد استثنا (Exception) نیستند و به آنها خطا (Errors) می‌گوییم. مثل خطای stack overflow، خطای حافظه (memory error)، خطای سخت افزار (hardware error)، خطای ماشین مجازی جاوا (JVM error) و......
پس فرق خطا با استثنا این است که استثناها در برنامه نویسی قابل کنترل و مدیریت هستند اما خطاها از کنترل برنامه نویس خارج هستند.

Exception خود یک کلاس است که در کتابخانه java.lang.Exception قرار دارد. کلاس Exception فرزند کلاس Throwable است، دیگه جزییات رو براتون باز نمیکنم در همین حد بدانید کافی است.

 

...ادامه این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.



این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود

 

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی