sara.2020
sara.2020
خواندن ۴ دقیقه·۴ سال پیش

خطاهای رایج در زبان برنامه‌نویسی جاوا


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


در این مطلب قرار است راجع به خطاهای متداول در این زبان صحبت کنیم. در واقع در زبان‌های برنامه نویسی انواع خطاها یک بخش جداناپذیر از آن‌ها هستند. ولی شناخت و رفع هر کدام از این خطاها می‌تواند برای هر برنامه نویسی یک راه حل ایجاد کند تا در این زمینه موفق‌تر عمل کند.


۱) Expected


این خطا زمانی رخ می‌دهد که قسمتی از کد وجود نداشته باشد. برای مثال زمانی که گذاشتن یک ";" یا پرانتز را فراموش می‌کنید، این خطا رخ می‌دهد.


معمولا این پیغام خطا به مکان دقیقی که در آن خطا رخ داده است اشاره نمی­‌کند.

روش‌­های یافتن مکان دقیق خطا:

اطمینان حاصل کنید که تمامی پرانتزهای باز، بسته شده هستند.


گاهی اوقات کاراکترهایی مانند پرانتز باز نباید در جایگاه شروع قرار گیرند، پس برنامه‌نویس برای ایجاد تعادل در پرانتزها، آن را نمی‌بندد.




۲) Unclosed String Literal


پیغام خطای "Unclosed String Literal" زمانی نمایش داده می‌شود که انتهای یک string علامت کوتیشن وجود نداشته باشد. این خطای لفظی دقیقا به همان خطی که خطا در آن رخ داده است اشاره می‌کند.


نکته: در صورتی که یک رشته از اجزای مختلفی تشکیل شده باشد که توسط علامت "+" به هم متصل شده و رشته را تشکیل دهند، ممکن است گذاشتن کوتیشن بین آن‌ها فراموش شود.


نکته: در کنار کوتیشن‌هایی که بخشی از string هستند باید از "\" استفاده کرد.



۳) Illegal Start of an Expression


دلایل زیادی برای بروز خطای Illegal Start of an Expression وجود دارد. اگرچه عنوان این پیغام خطا کمک زیادی به رفع آن نمی­‌کند؛ برخی از برنامه‌­نویسان معتقدند که علت آن کدنویسی بد است.


زمانی که برای تعریف یک مقدار جدید یا اختصاص یک مقدار به متغیر از یک عبارت استفاده می­‌کنیم، ممکن است کامپایلر به دلیل پیدا نکردن سینتکس مورد انتظارش آن مقدار را شناسایی نکند و این خطا رخ دهد.


۴) x Cannot Find Symbol


این خطا، خطایی بسیار متداول در بین دانشجویان مبتدی است. تمامی شناسه‌­ها در جاوا می‌بایست قبل از استفاده تعریف شوند زیرا کامپایلر هنگام کامپایل کردن کد نمی­تواند شناسه‌ها را تشخیص دهد.


دلایلی که می‌­توانند باعث دریافت پیغام خطای Cannot Find Symbol شوند:


املای اشتباه شناسه که موجب عدم تطبیق آن با شناسه­­‌ی تعریف شده می‌­شود.

عدم تعریف شناسه پیش از استفاده

استفاده از متغیر در خارج از حوزه­ای که تعریف شده است.

ایمپورت نکردن کلاسی که شناسه در آن تعریف شده است.


۵) Public Class XXX Should Be in File


این خطا زمانی رخ می­دهد که کلاس XXX و نام فایل برنامه جاوا مطابقت نداشته باشند. کد شما فقط در صورت یکسان بودن نام کلاس و پرونده جاوا کامپایل می‌شود.


برای پیشگیری از بروز این نوع خطا هنگام نوشتن برنامه اطمینان حاصل کنید که مقادیر متناسب با نوع داده متغیرها را در آن‌ها ذخیره می‌کنید.


۶) Invalid Method Declaration; Return Type Required


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


روش‌های رفع این خطا:


تعیین نوع بازگشتی

اگر بنا بر این باشد که متد تعریف شده

مقداری برنگرداند، می‌بایست نوع بازگشتی آن را "void" تعریف کنید.

Constructor یا سازنده نیازی به تعیین نوع بازگشتی ندارد. اما اگر خطایی در نام سازنده وجود داشته باشد، کامپایلر با سازنده مانند متدی که نوع بازگشتی آن به درستی تعریف نشده، رفتار می‌کند.

۷) array Not Initialized


این خطا زمانی رخ می‌دهد که آرایه تعریف شده ولی به درستی مقداردهی نشده باشد.



۸) Non-Static Method ... Cannot Be Referenced From a Static Context


این خطا زمانی رخ می‌دهد که یک متد غیر استاتیک در یک متد استاتیک فراخوانی می‌شود.



۹) Method in Class Cannot Be Applied to Given Types


این خطا زمانی اتفاق می‌افتد که پارامترهای اشتباه در متد فراخوانی می‌شوند.


برای پیشگیری از این نوع خطا، از یکسان بودن پارامترهای استفاده شده در متد با پارامترهای مورد نیاز آن که در کنار نام تابع تعریف شده‌اند اطمینان حاصل کنید.




۱۰) Unreachable Statement


این خطا زمانی رخ می‌دهد که یک عبارت در جایی نوشته شود که نتواند اجرا شود. برای مثال این خطا زمانی که عبارت بعد از break یا return نوشته شود، رخ می­‌دهد.




۱۱) NoClassDefFoundError


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


روش‌های رفع این خطا:


قرار دادن فایل در دایرکتوری صحیح

اطمینان از هم نام بودن نام کلاس و فایل (حساس به بزرگ و کوچک بودن حروف)




۱۲) Cannot Return a Value From Method Whose Result Type Is Void


این خطا زمانی رخ می‌دهد که از متدی که نمی‌تواند مقداری برگرداند، بخواهیم یک مقدار را return کند. این خطا معمولا با تغییر نوع تابع از void به int برطرف می‌شود.


۱۳) Missing Return Value


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


۱۴) ArrayIndexOutOfBoundsException


این پیغام یک خطای زمان اجراست که زمانی رخ می‌دهد که قسمتی از کد سعی می‌کند به مقادیری از آرایه دسترسی پیدا کند که وجود ندارند.


جمع‌بندی


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


آیا شما نیز در زبان برنامه نویسی جاوا با خطایی روبرو شده‌اید؟




آموزش جاوا اسکریپت
شاید از این پست‌ها خوشتان بیاید