۲ پژمان آزاد
انواع ارورها در برنامه نویسی اندروید و جاوا
پوریا شفیعی حل شده توسط پوریا شفیعی

با احترام

دو سئوال دارم از حضورتون:

1.

انواع ارورها در زبان برنامه نویسی جاوا  و اندروید به چه ترتيب هستن منظور کامپایل تایم-ران تایم و...؟ و کدوم باعث force close شدن برنامه ميشن؟
علاوه بر اینکه ارورهای سينتاکسي-منطقي وغيره جزء کدوم دسته بالا میشن ؟
مثلا دستور () throw new NullPointerException چه نوع اروري هست و چرا باعث توقف برنامه شد؟

 

2. این سئوال ارتباط مفهومی با سئوال اول نداره: 

چگونه ميشه Overloadهاي يه متد رو که مشابه فیلم آموزشی درون اسکرين تيپ که بالاي متد باز ميشه مشاهده کرد.
 

سلام وقت بخیر

ارور‌های nullpointerException باعث فورس کلوز شدن اپلیکیشن میشن که از دسته ارور‌های زمان اجرا یا ران تایم محسوب میشه .

خود لاگ کت تشخیص میده و مینویسه که کجای کار رو اشتباه کردی. اون دستور هم که فرمودین ارور نال پوینتر هستنش که ذکر کردم.

درمورد مورد دوم خودش اتوماتیک نشون میده (پرانتز‌های متد رو دستی بنویسین یعنی گه نذارین خود تمپلیت کامل کنه) اما روش دیگری نیز هست با گرفتن دکمه Ctrl و بردن موس روی اون متد مد نظر و با کلیک کردن وارد محتویات اون کلاس میشین و میتونین مشاهده کنید مثلا متد constructor ش چه پارامتر(هایی) قبول میکنه.

بهترین پاسخ
پوریا شفیعی ۱۳ خرداد ۱۳۹۹، ۱۸:۰۹

من گمان میکنم سطح باگ مربوط به کامپایل تایم و سطح ارور مربوط به ران تایم هست. یعنی زمانیکه Logcat بر روی سطح Verbose تنظیم شده و اپلیکیشن ران میشه از اونجا که اولین لول، کامپایل اپلیکیشن هست لاگهای سطح دیباگ ثبت میشن(اگر دقت کنی اولین آیتم زیر Verbose آیتم Debug هست) مثلا اون ارور مربوط به عدم همخوانی مقدار بازگشتی تابع findViewById() با مقدار صفت id ویوی مورد نظر، که من در جلسه چهارم پروژه صفحه پروفایل داشتم خاطرت هست؟ که برنامه به محض اجرا force close میشد این مربوط به کامپایل تایم بود به گمانم یا مثلا اشتباه تایپی در سورس کدها که خطای سینتاکسی هست. ولی اروری مثل ارور نال پوینتر داستانش فرق میکنه.نوع این ارور نمیدونم چیه ولی میدونم که مشکل کامپایلی نداره اما فکر میکنم جای حضور این سورس کد اشتباه هست درسته؟ که با ارور برخورد میکنیم؟ هر چی که هست ارور مفهومی یا منطقی نیست. نوع ارورش رو نمیدونم فقط میدونیم که سطحش ارور هست از نوع ران تایم ولی اینکه منطقی هست یا سینتاکسی نمیدونم.

البته که تمامی باگها که در زمان کامپایل مشخص میشن  و ارورها که در زمان ران برنامه خودشون رو نشون میدن همگی هنگام اجرای برنامه نمایان میشن و نه قبل از اون.

پژمان آزاد ۱۳ خرداد ۱۳۹۹، ۱۹:۲۸