নতুন প্রোগ্রামাররা কেন কম্পাইলার ত্রুটি বার্তা / রানটাইম ব্যতিক্রম বার্তা উপেক্ষা করবে বলে মনে হচ্ছে? [বন্ধ]


27

আমি মনে করি আমরা সকলেই এটি দেখেছি। প্রাথমিকরা স্ট্যাক ওভারফ্লোতে এমন প্রশ্ন জিজ্ঞাসা করে যেগুলি মৌলিক রূপরেখা অনুসরণ করে ...

আমি চেষ্টা করছি (লক্ষ্যটির খুব অস্পষ্ট বর্ণনা) তবে এটি কার্যকর হয় না / আমি একটি ত্রুটি / ব্যতিক্রম পাই। সাহায্য করুন!

এটি কি উদ্ভট নয় যে তাদের মধ্যে অনেকে ত্রুটির বার্তাটি পেস্ট করা অপ্রয়োজনীয় বিবেচনা করে?

আমি ভাবছি এর মনোবিজ্ঞান কী। এটি ত্রুটি বার্তাগুলি সম্পর্কে কী যা লোকেরা প্রাথমিকভাবে ধরে নেয় যে তারা অকেজো এবং কোনও মনোযোগ দেওয়ার পক্ষে নয়?

আমি যে উত্তরটি খুঁজছি তা হ'ল "তারা ত্রুটির বার্তাটি বুঝতে পারে না"। এটি ব্যাখ্যা করে না যে তারা কেন অন্য কাউকে এটি বোঝার কথা বিবেচনা করবে না।

উত্তর:


21

আমি মনে করি আসল কারণটি হ'ল সাধারণ কম্পিউটার ব্যবহারকারীরা, যদিও তাদের প্রোগ্রামার হওয়ার কথা বলা উচিত ছিল, তারা বিশ্বাস করার শর্তযুক্ত যে তারা ত্রুটি সম্পর্কে কিছুই করতে পারে না। চিন্তা করুন. নন-প্রোগ্রামার প্রকারগুলি যখন কোনও ক্রিপটিক ত্রুটি বার্তার মুখোমুখি হয় তখন তারা কী করবে? তারা এটি পড়তে পারে তবে দশজনের মধ্যে নয় বার তারা এটিকে খারিজ করে আবার চেষ্টা করবে। যদি এটি ধারাবাহিকভাবে ব্যর্থ হয় তবে তারা এটিকে সন্ধান করবে।

সুতরাং, প্রোগ্রামটি শিখতে শুরু করার সময়, লোকেরা তাত্ক্ষণিকভাবে বুঝতে পারে না যে তারা যে ত্রুটিটি পাচ্ছে তাতে কীভাবে এটি ঠিক করা যায় সে সম্পর্কে দরকারী তথ্য রয়েছে; এবং হ্যাঁ, যদিও সংকলক ত্রুটিগুলি প্রশিক্ষণপ্রাপ্ত পেশাদারদের কাছেও অপঠনযোগ্য হতে পারে (আমি আপনাকে দেখছি, সি ++ টেমপ্লেট রূপান্তর), কমপক্ষে তারা একটি সাধারণ সূচনা পয়েন্ট সরবরাহ করে এবং একবার আপনি একই ত্রুটি কয়েকবার দেখেছেন once , আপনি সর্বদা জানবেন যে এর কারণ হিসাবে আপনি কী করেছেন।

* সত্য, যদিও, বেশিরভাগ ত্রুটি বার্তাগুলি জো অ্যাভারেজের মতো "ত্রুটি এক্স 2412: ফ্রোবনেটিকারি ইন্টারপ্ল্যাটফর্মিং ডংল্যাড্যাশ প্রতিষ্ঠা করতে অক্ষম: দয়া করে ব্যান্ডারশ্যাচ সেটিংস যাচাই বা আপনার সিস্টেম প্রশাসকের সাথে যোগাযোগ করুন।"


6
আমি যদি আমার সফ্টওয়্যারটিতে ত্রুটি বার্তাটি ব্যবহার করি তবে আপনি কি আপত্তি করেন?
I.devries

12

আমি মনে করি যদি এটি সত্যিকারের শিক্ষানবিস হয় তবে তাদের জন্য একটি ভাল সুযোগ আছে তারা জানে না যে এখানে কোনও ত্রুটির বার্তা রয়েছে। তারা কেবল জানে যে এটি চালায় না এবং একটি ত্রুটি রয়েছে। উদাহরণস্বরূপ ভিজ্যুয়াল স্টুডিওতে তারা স্ক্রিনের সেই অংশটি দেখতে না পারে।

মূলত তারা জানে না যে তাদের কাছে পাওয়া তথ্যের কোন অংশটি সমস্যাটি তা বোঝার জন্য দরকারী। যদি তারা এমনটি করে থাকে তবে আরও ভাল সুযোগ তারা নিজেরাই ঠিক করতে পারত এবং প্রথমে এটি সম্পর্কে জিজ্ঞাসা না করত।


এটি একটি ন্যায্য ধারণা, কিন্তু এটি কি সত্যই এই জাতীয় প্রশ্নের উচ্চ পরিমাণ ব্যাখ্যা করে?
টিমভি

@ টিমউই: সম্ভবত এটি সঠিক ত্রুটির তথ্যের সাথে তুলনামূলকভাবে কিছুটা কম পরিমাণের প্রশ্নের ব্যাখ্যা দেয়। খারাপ প্রশ্নের পরম ভলিউম সম্প্রদায়ের আকারের সাথে তুলনামূলক।
ব্রায়ান আর বন্ডি

6

আমি মনে করি যে প্রশ্ন জিজ্ঞাসা করা এবং সমস্যা সমাধানের বিষয়টি এমন দক্ষতা যা শেখা দরকার এবং পেশাদার বিকাশকারীদের পক্ষে এটি একটি গুরুত্বপূর্ণ দক্ষতা যা প্রায়শই পর্যাপ্তভাবে শেখানো হয় না।

আপনি যখন এই পেশায় প্রথম শুরু করার সময় আপনি যে কোডটি লেখেন সেটি আজ আপনার লেখার কোডের তুলনায় ভয়াবহ হতে চলেছে, আপনি যে প্রশ্নগুলি জিজ্ঞাসা করছেন সেগুলি আজ আপনি যেভাবে জিজ্ঞাসা করছেন তার তুলনায় ভয়ানক হতে চলেছে।

আপনি যখন শুরু করবেন, আপনি যে সমস্ত তথ্য শিখছেন এবং যখন জিনিসগুলি পরিকল্পনা করতে যাচ্ছেন না তখন সমস্ত তথ্য দ্বারা আচ্ছন্ন হওয়া সহজ, কোন তথ্যটি প্রাসঙ্গিক এবং কোনটি নয় তা জানা মুশকিল। এটি প্রাথমিক কারণেই নিজের জন্য সমস্যাটি সমাধান করতে না পারার একটি বড় অংশ!


5

স্ট্যাক ওভারফ্লোর মতো অনলাইন ওয়েবসাইটের চেয়ে আইআরসি-তে এটি বেশি প্রযোজ্য, যা অনেক বেশি বিরল।

আমি মনে করি এর পিছনে যুক্তি হ'ল লোকেরা যদি আরও জেনে থাকে যে বিশেষত কোনও ব্যক্তি তাদের সমস্যার প্রতি আগ্রহী এবং তাদের সহায়তা করতে রাজি হন তবে তারা ভাল বোধ করেন। সুতরাং তারা এই বলে শুরু করে যে তাদের একটি সমস্যা আছে, তবে কেউ তাদের জিজ্ঞাসা না করা পর্যন্ত তারা বিশদগুলিতে যায় না কারণ তারা ভয় করে যে অন্যথায় তারা কোনওভাবেই উত্তর পাবে না।

কখনও কখনও (সংকলক ত্রুটির ক্ষেত্রে নয়) এই আচরণটি আসলে বোঝায়। আমার যদি কোনও বড় জটিল সমস্যা হয় তবে আমি নিশ্চিত হয়ে যাব যে কেউ কেউ পড়বে না এমন দীর্ঘ ব্যাখ্যা লেখার আগে প্রথমে কেউ শুনছে।


Sশ্বর, আমি আশা করি এটি এখনও এসও
-র

3

কারণ সংকলক ত্রুটিগুলি / ব্যতিক্রমগুলি আপনাকে এটি ঠিক করার জন্য কী ভুল করছেন তা জানতে হবে। তারা এমন প্রোগ্রামারদের জন্য যারা স্টাফকে অগ্রাহ্য করে, এমন লোকদের জন্য নয় যা তাদের বোঝে না।

তারা সবসময় সবচেয়ে সুস্পষ্ট হয় না। "অপ্রত্যাশিত যদি" ​​এর মতো ত্রুটিটি স্বজ্ঞাত নয়। "তবে সেখানে থাকা উচিত" হ'ল এক নবজাতকের প্রতিক্রিয়া। আরও অভিজ্ঞ প্রোগ্রামার জানেন যে এর অর্থ তিনি প্রিসিডিং লাইনে সেমিকোলনটি ভুলে গেছেন ।


অবশ্যই - তবে কোনও কিছু গুপ্তচর ভাবনা এবং এটি অকেজো মনে করার মধ্যে পার্থক্য রয়েছে।
ডেভিড থর্নলি

1
@ ডেভিড: ক্রিপ্টিক ত্রুটির বার্তাটি কী ব্যবহার করে? ... বেশি কিছু নয়।
মরগান হের্লোকার

1
@ ইরানটোল: এসও জিজ্ঞাসা করার সময় এটি উদ্ধৃত করুন। এটি কেটে একটি ওয়েব অনুসন্ধানে আটকান। আপনি এটি না বুঝতে পারলেও এটি ম্যাজিক কুকি হিসাবে কাজ করতে পারে।
ডেভিড থর্নলে

2

আমি মনে করি না এটি কেবল নবজাতক। আমার কয়েক বছরের অভিজ্ঞতার সহকর্মীরা রয়েছেন যারা কেবল একটি সংকলক ত্রুটি পেয়ে গেলে কেবল লাইন নম্বরটি দেখেন, তারপরে বাকীগুলি নিজেই বের করার চেষ্টা করুন (প্রায়শই "চলুন বন্ধনী যুক্ত করুন" বা "ভুডু চেষ্টা করে" এটি ভাঙা যাক দুটি বিবৃতিতে ")।

আমার সন্দেহ হ'ল এটি আসলে ভাষার নিয়মগুলির গভীর উপলব্ধি না থেকে আসে, যাতে ত্রুটির সাধারণ ঘন বিবরণটির খুব বেশি অর্থ হয় না। expression must be a modifiable lvalueবেশ মূল্যহীন তথ্যের মতো মনে হচ্ছে যদি আপনি সত্যিই জানেন না যে ল্যাভেলুটি কী।


আমার অভিজ্ঞতায় কোডটি দেখার জন্য সিনট্যাক্স ত্রুটির জন্য ভাল কাজ করে, যেহেতু সংকলক বার্তাটি প্রায়শই একটি ব্যর্থতা সম্পর্কে হয় যা পরোক্ষভাবে মূল ত্রুটির কারণে ঘটে caused শব্দার্থগত ত্রুটির জন্য যেমন আপনার উদাহরণ হিসাবে ত্রুটি বার্তাটি সাধারণত প্রয়োজনীয়।
কোডসইনচাউস

1

এটি ত্রুটি বার্তাগুলি সম্পর্কে কী যা লোকেরা প্রাথমিকভাবে ধরে নেয় যে তারা অকেজো এবং কোনও মনোযোগ দেওয়ার পক্ষে নয়?

ভাল, আমার জন্য, এটি সম্পূর্ণরূপে দুর্ভেদ্য ত্রুটি বার্তাগুলির সাথে উইন্ডোজ 95 সফ্টওয়্যার ক্র্যাশ করে পূর্ণ এমন এক যুবক ছিল যা প্রায় 150 লাইন হেক্সাডেসিমাল দিয়ে শেষ হয়েছিল।

আমি প্রতিবারই একই অভিজ্ঞতাটি পুনরুদ্ধার করি যখনই আমি একটি দুর্দান্ত ক্রিপ্টিক জাভা স্ট্যাক ট্রেস পাই যা এতে 40 টি লাইনের সংকলক বর্জ্য এবং হাইবারনেট ত্রুটি থাকবে এবং তাদের মধ্যে খুব ভালভাবে লুকানো আছে আমার অ্যাপ্লিকেশনটিতে ত্রুটি কোথায় রয়েছে তার আসল উল্লেখ।

লোকেরা ত্রুটি বার্তাগুলি এবং স্ট্যাকের চিহ্নগুলি উপেক্ষা করার কারণটি প্রায়শই ত্রুটির বার্তা এবং স্ট্যাকের চিহ্নগুলি সমস্যার জটিলতার তুলনায় অস্বাভাবিক জটিল হয়। যখন আমি একটি আধা-কোলন মিস করি তখন আমার পর্দার মাধ্যমে 150 টি লাইন ক্র্যাপ ফ্লাশ করার কোনও কারণ নেই।


2
খুব ভাল লুকিয়ে আছে? আপনার প্যাকেজের নামের জন্য কেবল স্ক্যান করুন।
বার্ট ভ্যান হিউকেলোম

1

আমি জুনিয়র সিসাদমিন্সের জন্য লিনাক্স এবং পিএইচপি এবং মাইএসকিএল সহ প্রোগ্রামিংয়ে কিছু কোর্স শিখছি। পিএইচপি-র বেশিরভাগ শিক্ষার্থী জানেন যে একটি ত্রুটি আছে কারণ তারা পর্দায় কুৎসিত বার্তাটি দেখে। তবে তারা এটি পড়তে অক্ষম বলে মনে হচ্ছে। সাধারণত আমি যখন তাদের স্ক্রিনে যাই যখন তারা আমাকে বলেন যে কিছু কাজ করছে না, আমি স্ক্রিনে ত্রুটিটি পড়ি, তাদের পড়তে বলি, ত্রুটির উপরে উল্লিখিত ফাইল এবং লাইনের উপর জোর দিয়ে এবং সেখানে দেখার জন্য তাদের বলি। তারা ত্রুটিটি সংশোধন করে, কিন্তু যখন অন্য কোনও ত্রুটি উপস্থিত হয়, একই পদ্ধতিটি প্রয়োগ হয় ... দীর্ঘশ্বাস ...

লিনাক্স কোর্সের জন্য, কখনও কখনও তারা ত্রুটিটিও লক্ষ্য করে না। তারা কিছু কমান্ড প্রবেশ করে, কিছু লাইন স্ক্রিনে উপস্থিত হয় এবং পরবর্তী কমান্ডটি দিয়ে চালিয়ে যায়। যখন কিছু কমান্ড পরে তারা লক্ষ্য করে যে কোনও কিছু কাজ করছে না এবং তাদের হাত বাড়িয়েছে, আমি উপরে এসে কনসোলটি স্ক্রোল করব এবং একটি কমান্ডের দিকে নির্দেশ করব যা খারাপ পরামিতিগুলির কারণে বা যে কোনও কারণে ত্রুটির সাথে উপস্থিত হয়েছিল। তাদের চেহারা: অবাক। সুতরাং আমার লিনাক্স শিক্ষার্থীদের জন্য সহজ অংশটি ছিল ত্রুটি দেখা দিলে তাদের লক্ষ্য করা, বাশ প্রম্পটে কিছু পরিবর্তন ব্যবহার করে এটির মতো কোনও ত্রুটি দেখা দিলে এটি আলাদা করে তোলে । এখন, ত্রুটি বার্তাটি তারা একবারে এটি পড়তে পারাও, এটি একটি আলাদা লড়াই (পিএইচপি শিক্ষার্থীদের সাথে একই) ...


0

আমি বিশ্বাস করি যে তারা কেবল ত্রুটি কোডগুলি নিয়ে ভাবতে ব্যবহার করা হয়নি, এবং তাদের যে জায়গায় দেওয়া উচিত সেই জায়গায় পৌঁছানোর সাথে সাথে তারা ইতিমধ্যে মনে করছেন যে তারা সমস্যাটি পুরোপুরি ব্যাখ্যা করেছেন, এবং তাই থামার এবং চিন্তা করার সম্ভাবনা কম রয়েছে তাদের অতিরিক্ত তথ্য দেওয়া উচিত।

একটি প্রশ্ন জিজ্ঞাসা করার কয়েকটি ধাপ জড়িত, এবং সেগুলি সবচেয়ে যুক্তিযুক্তভাবে এই ক্রমে সাজানো হয়েছে:

  1. আপনি কি করছেন তা আপনাকে বর্ণনা করতে হবে
  2. আপনি এটি কীভাবে করছিলেন তা আপনাকে বর্ণনা করতে হবে
  3. এটি ব্যর্থ হওয়ার পরে কী ঘটেছিল তা বর্ণনা করতে হবে (বা কীভাবে এটি ব্যর্থ হয়েছিল)
  4. আপনার পোস্ট মর্টেম রিপোর্ট দিতে হবে

পোস্ট মর্টেম রিপোর্টটি যেখানে ত্রুটি বার্তাটি হবে এবং এটি একেবারে শেষে। Newbies এই মুহুর্তে পৌঁছানোর পরে তারা তাদের সমস্যার ব্যাখ্যা দেওয়ার মানসিক চ্যালেঞ্জের শেষে এবং কিছু মিস করার সম্ভাবনা বেশি থাকে (কোনও নবাগতের জন্য, সেখানে একটি তথ্যের ওভারলোড সমস্যা রয়েছে)। তদতিরিক্ত, এই মুহুর্তে তারা ইতিমধ্যে অনুভব করছে যে তারা সমস্যার সমস্ত দিক বর্ণনা করেছে এবং তাদের অতীত অভ্যাস রয়েছে যা ত্রুটি কোডগুলি স্মরণে রাখতে বাধা দেয়: সর্বোপরি, জীবনের অন্যান্য ক্ষেত্রে কোনও ত্রুটি কোড নেই, তাই তারা অভ্যস্ত নয় তাদের সম্পর্কে চিন্তা করুন।

এটি এও হতে পারে যে তারা ত্রুটি কোডগুলি মনে রাখে না তবে এগুলি প্রকৃত ব্যবহারের মতো খুব ক্রিপ্টিক বলে মনে হয়। শুধু ত্রুটি কি হয় 034982? এটি কি সত্যিই কারও কাছে কিছু বোঝায়? এবং আমি কী করছিলাম, কীভাবে এটি করছিলাম এবং কীভাবে এটি ব্যর্থ হয়েছিল তার বিশদ বিবরণে এটি সত্যিই কিছু যুক্ত করে? চূড়ান্তভাবে এই তথ্য নিজের জন্য দাঁড়িয়ে।


আপনি কোন পরিবেশ / সংকলক / কাঠামোটি ব্যবহার করছেন যা খাঁটি সংখ্যাসূচক ত্রুটি কোডগুলি রয়েছে? ও
টিমভি

আমি এরকম একটি আইডিই ব্যবহার করছি না। ত্রুটি বার্তাটি নিজেই ঠিক ক্রিপ্টিক (অকার্যকর) হিসাবে গণ্য হতে পারে, বা উপরের বর্ণনাকে পুনর্বিবেচনার মতো মনে হতে পারে (তথ্য যোগ করে না)।
অ্যাপসিলনেক্টর

0

কারণ বেশিরভাগ ভাষার ক্ষেত্রে, বেশিরভাগ সংকলক / রানটাইম বার্তা কোনও অর্থ দেয় না। (সি ++ এবং জাভা বিশেষত, আমি আপনার দিকে নজর দিচ্ছি!) ত্রুটিগুলি সঠিকভাবে প্রাপ্তি কোনও ভাষা ডিজাইনারের অগ্রাধিকারের তালিকার চেয়ে কম হয়ে থাকে। ডান কাজ করতে ডান কাজ করে এমন জিনিসগুলি পাওয়া সাধারণত একটি বড় অগ্রাধিকার এবং অনেক সময় তারা সামান্য বিশদ বিবরণ পোলিশ করে বিরক্ত করে না।

আমি দেলফিতে কাজ করা উপভোগ করার একটি কারণ। সম্পূর্ণ ভাষা ত্রুটি সহ সামান্য বিবরণে মনোযোগ পূর্ণ। সংকলক বার্তা অর্থবোধ করে। রানটাইম ত্রুটি বার্তাগুলি অর্থপূর্ণ। স্ট্যাক ট্রেসগুলি বোঝায়। এটি এমন একটি জিনিস যা এটি তৈরি করে, খুব সহজেই, আমি কখনও কাজ করেছি যে ডিবাগ করার সহজতম ভাষা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.