Moderators: AI of Game, pomkab
TaNgKuNg wrote:...
อันนี้เป็นไฟล์สำหรับฝึกฟัง เพื่อเอาไปสอบ listening ไม่รู้ว่ามันจะยากหรือง่ายไปรึเปล่า
ปล่อยมาแค่นี้ เพราะคนหาก็ไม่ไหวจะเคลียร์แล้ว งานสุมหัวอยู่
...
SITLOVE wrote:สุโค่ย มั่กๆเลยตั้ง พึ่งเรียนเสร็จเมื่อกี้ กลับไปทวนเลยหรอ เยี่ยม!!!
ขอให้ผลกรรมครั้งนี้ส่งผลไปยังลูกๆหลานๆในอนาคตของตั้งด้วยเถิด...
TaNgKuNg wrote:
ไม่ได้ไปทวนหรอกแบงค์ แต่เห็นเพื่อนมึนงงเหมือนกับว่า มันมีเรื่องนี้ด้วยหรอ ก็เลยเอาโค้ดที่อยู่ในหนังสือมาแปะอ่ะ คิคิ
TaNgKuNg wrote:#include<iostream>
using namespace std;
int main()
{
int dividend, divisor, quotient; // ประกาศตัวแปร...
try //เริ่มต้นการทำงานที่คิดว่าน่าจะเกิด Exception
{
cout << "Enter the dividend: ";
cin >> dividend; // input ตัวตั้ง
cout << endl;
cout << "Enter the divisor: ";
cin >> divisor; // input ตัวหาร
cout << endl;
if(divisor == 0) //ถ้าตัวหารเป็นศูนย์
throw divisor; // จะเกิดการ raised Exception Handling แบบ Manual ขึ้นโดย Programmer โดยการโยนการทำงานไปที่ fn catch
quotient = dividend / divisor; //ถ้าไม่ใช่ศูนย์ก็ทำงานต่อ
cout << "Quotient = " << quotient << endl;
}
catch(int x) //รับค่าตัวแปร dividor ที่ถูก throw โยนมา
{
cout << "Division by " << x << endl; // พิมพ์บอก user ว่ามันถูกหารด้วยศูนย์ ... Error
}
system("pause");
return 0;
}
Credit : C++ Programming : From Problem Analysis to Program Design by D.S. Malik
VaNnEsS_a wrote:
เค้าว่าโปรแกรมมันทะแม่งๆอ่ะ +___+
คือ พอมันทำที่ catch แล้วมันก็จะกลับไปที่บรรทัดหลัง throw นะ ตามที่ อ. บอกมา
สุดท้ายก็คือทำอยู่ดีนั่นแหละ...
+_____+ ที่จริง throw น่าจะอยู่หลัง
quotient = dividend / divisor; มากกว่านะ เค้าว่า...
เข้าใจมาแบบนี้อ่ะ .. ใครกระจ่างกว่านี้ช่วยบอกที
เพราะเรื่องที่เรียนวันนี้จดไม่ทัน ไม่ค่อยเข้าใจ ไม่มีชีท!
Poron wrote:พอมัน handle เสด มันจาไปทำต่อที่บรรทัดหลัง catch ตัวสุดท้ายอ่าจ้า
คือถ้ามัน throw ไปได้แล้ว มันก็จาออกจา try เรย
VaNnEsS_a wrote:
คือ ตอนเรียนอ่าพี่บิ๊ก อ.บอกว่ามันจะเป็นไปได้ 4 กรณี
1. กลับไปทำ statement ที่โดน raiesd ซ้ำ
2. ข้าม statement ที่โดน raiesd ทำ instruction ถัดไป
3. ข้ามทุกๆ instruction ไปถึง end ของ block นั้น
4. terminate โปรแกรม
^^" ... อ่านแล้วก็ งงๆ เนอะ
Return to Com-Sci#50 (CS รุ่น22)
Users browsing this forum: No registered users and 0 guests