9
มีข้อยกเว้นในฐานะโฟลว์คอนโทรลที่ถือว่าเป็น antipattern ที่ร้ายแรง ถ้าเป็นเช่นนั้นทำไม
ย้อนกลับไปในช่วงปลายยุค 90 ฉันทำงานค่อนข้างน้อยด้วยรหัสฐานที่ใช้ข้อยกเว้นเป็นตัวควบคุมการไหล มันใช้เครื่องจักรสถานะ จำกัด เพื่อขับเคลื่อนแอปพลิเคชั่นโทรศัพท์ เมื่อไม่นานมานี้ฉันนึกถึงวันนั้นเพราะฉันทำเว็บแอป MVC พวกเขาทั้งคู่มีControllers ที่ตัดสินใจว่าจะไปที่ไหนต่อไปและให้ข้อมูลกับตรรกะปลายทาง การกระทำของผู้ใช้จากโดเมนของโทรศัพท์เก่าโรงเรียนเช่นโทน DTMF กลายเป็นพารามิเตอร์กับวิธีการดำเนินการ แต่แทนที่จะกลับสิ่งที่ต้องการพวกเขาโยนViewResultStateTransitionException ฉันคิดว่าความแตกต่างที่สำคัญคือวิธีการดำเนินการเป็นvoidหน้าที่ ผมจำไม่ได้ทุกสิ่งที่ฉันทำกับความเป็นจริงนี้ แต่ผมเคยลังเลที่จะได้ไปลงที่ถนนในการจดจำมากเพราะตั้งแต่งานที่เหมือน 15 ปีที่ผ่านมาผมไม่เคยเห็นนี้ในรหัสการผลิตที่งานอื่น ๆ ฉันสันนิษฐานว่านี่เป็นสัญญาณว่าเป็นรูปแบบการต่อต้านที่เรียกว่า เป็นกรณีนี้หรือไม่และถ้าเป็นเช่นนั้นทำไม อัปเดต: เมื่อฉันถามคำถามฉันมีคำตอบในใจของ @ MasonWheeler ดังนั้นฉันจึงไปพร้อมกับคำตอบที่เพิ่มความรู้ให้มากที่สุด ฉันคิดว่าเขาเป็นคำตอบที่ดีเช่นกัน