คำถามติดแท็ก error-handling

โครงสร้างภาษาการเขียนโปรแกรมออกแบบมาเพื่อจัดการข้อผิดพลาดที่ส่งสัญญาณโดยรหัสข้อผิดพลาดข้อยกเว้นหรือวิธีการเฉพาะภาษาอื่น ๆ

6
เมื่อใดที่ฉันควรใช้ข้อผิดพลาดในการเขียนเทียบกับการโยน การยุติและข้อผิดพลาดที่ไม่สิ้นสุด
ดูที่สคริปต์ Get-WebFile บน PoshCode, http://poshcode.org/3226ฉันสังเกตเห็นการคุมกำเนิดที่แปลกประหลาดนี้: $URL_Format_Error = [string]"..." Write-Error $URL_Format_Error return อะไรคือสาเหตุของสิ่งนี้เมื่อเทียบกับสิ่งต่อไปนี้? $URL_Format_Error = [string]"..." Throw $URL_Format_Error หรือดีกว่า: $URL_Format_Error = New-Object System.FormatException "..." Throw $URL_Format_Error ดังที่ฉันเข้าใจแล้วคุณควรใช้ Write-Error สำหรับข้อผิดพลาดที่ไม่สิ้นสุดและการโยนเพื่อยกเลิกข้อผิดพลาดดังนั้นฉันคิดว่าคุณไม่ควรใช้ Write-Error ตามด้วย Return มีความแตกต่างหรือไม่?

6
หน้าข้อผิดพลาดที่กำหนดเองใน asp.net MVC3
ฉันกำลังพัฒนาเว็บไซต์ฐาน MVC3 และฉันกำลังมองหาวิธีแก้ไขข้อผิดพลาดและกำหนดมุมมอง Render แบบกำหนดเองสำหรับข้อผิดพลาดแต่ละประเภท ลองจินตนาการว่าฉันมีตัวควบคุม "ข้อผิดพลาด" ซึ่งการกระทำหลักของเขาคือ "ดัชนี" (หน้าข้อผิดพลาดทั่วไป) และตัวควบคุมนี้จะมีการดำเนินการอีกสองสามครั้งสำหรับข้อผิดพลาดที่อาจปรากฏต่อผู้ใช้เช่น "Handle500" หรือ "HandleActionNotFound" ดังนั้นทุกข้อผิดพลาดที่อาจเกิดขึ้นบนเว็บไซต์อาจได้รับการจัดการโดยตัวควบคุม "ข้อผิดพลาด" นี้ (ตัวอย่าง: ไม่พบ "ตัวควบคุม" หรือ "การกระทำ", 500, 404, dbException, ฯลฯ ) ฉันใช้ไฟล์ Sitemap เพื่อกำหนดเส้นทางเว็บไซต์ (ไม่ใช่เส้นทาง) คำถามนี้ตอบแล้วนี่คือคำตอบของ Gweebz วิธีสุดท้ายของฉันคือดังนี้: protected void Application_Error() { //while my project is running in debug mode if (HttpContext.Current.IsDebuggingEnabled && WebConfigurationManager.AppSettings["EnableCustomErrorPage"].Equals("false")) …

12
วิธีรับการกระทำ MVC เพื่อส่งคืน 404
ฉันมีการกระทำที่ใช้ในสตริงที่ใช้เพื่อดึงข้อมูลบางอย่าง หากสตริงนี้ไม่มีข้อมูลที่ส่งคืน (อาจเป็นเพราะมันถูกลบไปแล้ว) ฉันต้องการส่งคืน 404 และแสดงหน้าข้อผิดพลาด ขณะนี้ฉันเพิ่งใช้คืนมุมมองพิเศษที่แสดงข้อความแสดงข้อผิดพลาดที่เป็นมิตรเฉพาะกับการกระทำนี้โดยบอกว่าไม่พบรายการ วิธีนี้ใช้ได้ดี แต่ต้องการส่งคืนรหัสสถานะ 404 เพื่อให้เครื่องมือค้นหาทราบว่าเนื้อหานี้ไม่มีอยู่อีกต่อไปและสามารถลบออกจากผลการค้นหาได้ วิธีที่ดีที่สุดที่จะไปเกี่ยวกับเรื่องนี้คืออะไร? มันง่ายเหมือนการตั้งค่า Response.StatusCode = 404?

5
เทียบเท่ากับ“ โยน” ใน R
วิธีหนึ่ง "โยน" ข้อผิดพลาดใน R อย่างไร ฉันมีฟังก์ชั่นที่ใช้กรอบข้อมูลและชื่อคอลัมน์บางส่วนและทำสิ่งต่าง ๆ กับพวกเขา หากไม่มีคอลัมน์ฉันต้องการให้ฟังก์ชันหยุดและหยุดฟังก์ชั่นทั้งหมดโดยขึ้นอยู่กับมัน ฉันได้ดูrecoverและbrowseและtracebackแต่ดีที่พวกเขาดูเหมือนจะใกล้ แต่ไม่ใช่สิ่งที่ฉันกำลังมองหา
140 r  error-handling 


4
แนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดการข้อผิดพลาดของ JavaScript คืออะไร?
ฉันกำลังมองหาการเริ่มต้นทำ JavaScript หลักฐานข้อผิดพลาดของฉันอีกเล็กน้อยและฉันพบความอุดมสมบูรณ์ของเอกสารเกี่ยวกับการใช้try, catch, finallyและthrowแต่ฉันไม่ได้หาตันของคำแนะนำจากผู้เชี่ยวชาญเกี่ยวกับเวลาและสถานที่ที่จะโยนความผิดพลาด รหัสทุกชิ้นควรห่อด้วย try / catch หรือไม่? มีคำแนะนำเพิ่มเติมเกี่ยวกับข้อผิดพลาดในจุดใดที่ควรจับได้หรือไม่? มีข้อเสียในการเพิ่มข้อผิดพลาดแทนที่จะให้รหัสล้มเหลวในการใช้งานจริงหรือไม่? สิ่งนี้ได้รับการสัมผัสบน SO จนถึงการใช้งาน แต่มีข้อผิดพลาด JS ในการบันทึกเซิร์ฟเวอร์เป็นกลยุทธ์ที่มีประสิทธิภาพหรือไม่? มีอะไรอีกบ้างที่ฉันควรทราบเกี่ยวกับข้อผิดพลาดในการดักจับในแอปพลิเคชันของฉัน ฉันยังเล่นเกมสำหรับการฟังหนังสือที่มีบทที่ยอดเยี่ยมหรือคำอธิบายเชิงลึกเกี่ยวกับการจัดการข้อผิดพลาด จาวาสคริปต์ที่ไพเราะให้ความสำคัญกับเรื่องนี้ แต่ไม่ได้มีการกำหนดหรือให้ความเห็นเกี่ยวกับปัญหานี้มากนัก ขอบคุณสำหรับคำแนะนำที่คุณสามารถให้ได้!

6
วิธีจับไม่มีไฟล์สำหรับ fs.readFileSync ()
ภายใน node.js readFile ()แสดงวิธีการจับข้อผิดพลาดอย่างไรก็ตามไม่มีข้อคิดเห็นสำหรับฟังก์ชัน readFileSync ()เกี่ยวกับการจัดการข้อผิดพลาด เช่นถ้าฉันพยายามที่จะใช้ readFileSync () Error: ENOENT, no such file or directoryเมื่อไม่มีแฟ้มที่ฉันได้รับข้อผิดพลาด ฉันจะจับข้อยกเว้นที่ถูกโยนได้อย่างไร? doco ไม่ได้ระบุว่ามีข้อยกเว้นใดบ้างที่ถูกโยนดังนั้นฉันจึงไม่รู้ว่าฉันต้องจับข้อยกเว้นอะไรบ้าง ฉันควรทราบว่าฉันไม่ชอบรูปแบบคำสั่ง try / catch แบบ 'จับทุกข้อยกเว้นที่เป็นไปได้' ทั่วไป ในกรณีนี้ฉันต้องการตรวจจับข้อยกเว้นเฉพาะที่เกิดขึ้นเมื่อไม่มีไฟล์และฉันพยายามดำเนินการ readFileSync โปรดทราบว่าฉันกำลังใช้งานฟังก์ชั่นซิงค์เมื่อเริ่มต้นเท่านั้นก่อนที่จะให้บริการพยายามเชื่อมต่อดังนั้นจึงไม่จำเป็นต้องแสดงความคิดเห็นว่าฉันไม่ควรใช้ฟังก์ชันการซิงค์ :-)

10
ที่มาของข้อผิดพลาดคืออะไร: getaddrinfo EAI_AGAIN?
เซิร์ฟเวอร์ของฉันส่งสิ่งนี้ในวันนี้ซึ่งเป็นข้อผิดพลาด Node.js ที่ฉันไม่เคยเห็นมาก่อน: Error: getaddrinfo EAI_AGAIN my-store.myshopify.com:443 at Object.exports._errnoException (util.js:870:11) at errnoException (dns.js:32:15) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26) ฉันสงสัยว่าสิ่งนี้เกี่ยวข้องกับการโจมตี DynDns DDOS ซึ่งส่งผลกระทบต่อ Shopify และบริการอื่น ๆ ในปัจจุบันหรือไม่ นี่คือบทความเกี่ยวกับเรื่องนี้ คำถามหลักของฉันคือdns.jsทำอะไร? มันเป็นส่วนใดของโหนด? ฉันจะสร้างข้อผิดพลาดนี้ขึ้นใหม่โดยใช้โดเมนอื่นได้อย่างไร


16
ฉันจะปิดการแจ้งเตือน PHP ได้อย่างไร
Notice: Constant DIR_FS_CATALOG already defined ผมเคยให้ความเห็นไปแล้วdisplay_errorsในphp.iniแต่ไม่ทำงาน ฉันจะทำให้ PHP ไม่ส่งออกสิ่งนั้นไปยังเบราว์เซอร์ได้อย่างไร UPDATE ฉันใส่ไว้ที่display_errors = Offนั่น แต่ยังคงรายงานการแจ้งเตือนดังกล่าว นี่เป็นปัญหากับ PHP 5.3 หรือไม่ รายงานCall Stack จำนวนมากด้วย ..

2
การจัดการข้อผิดพลาด PHP: die () Vs trigger_error () Vs throw Exception
เกี่ยวกับการจัดการข้อผิดพลาดใน PHP - เท่าที่ฉันรู้มี 3 สไตล์: die()หรือexit()สไตล์: $con = mysql_connect("localhost","root","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } throw Exception รูปแบบ: if (!function_exists('curl_init')) { throw new Exception('need the CURL PHP extension. Recomplie PHP with curl'); } trigger_error() รูปแบบ: if(!is_array($config) && isset($config)) { trigger_error('Error: config is not an array …

6
วิธีการตรวจจับข้อยกเว้นการหมดเวลาของ SQLServer
ฉันจำเป็นต้องจับข้อยกเว้นการหมดเวลาของเซิร์ฟเวอร์ SQL โดยเฉพาะเพื่อให้สามารถจัดการได้แตกต่างกัน ฉันรู้ว่าฉันสามารถจับ SqlException แล้วตรวจสอบว่าสตริงข้อความมี "หมดเวลา" หรือไม่ แต่สงสัยว่ามีวิธีที่ดีกว่านี้หรือไม่ try { //some code } catch (SqlException ex) { if (ex.Message.Contains("Timeout")) { //handle timeout } else { throw; } }

15
แนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดการข้อยกเว้นใน Java หรือ C # [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันกำลังตัดสินใจว่าจะจัดการข้อยกเว้นในแอปพลิเคชันของฉันอย่างไร มากถ้าปัญหาของฉันเกี่ยวกับข้อยกเว้นมาจาก 1) การเข้าถึงข้อมูลผ่านบริการระยะไกลหรือ 2) การยกเลิกการกำหนดค่าออบเจ็กต์ JSON น่าเสียดายที่ฉันไม่สามารถรับประกันความสำเร็จสำหรับงานเหล่านี้ได้ (ตัดการเชื่อมต่อเครือข่ายอ็อบเจ็กต์ JSON ที่ผิดรูปแบบซึ่งไม่สามารถควบคุมได้) ดังนั้นหากฉันพบข้อยกเว้นฉันเพียงแค่จับมันภายในฟังก์ชันและส่งคืน FALSE ไปยังผู้โทร ตรรกะของฉันคือผู้โทรทุกคนสนใจจริงๆคือถ้างานสำเร็จไม่ใช่เพราะเหตุใดจึงไม่สำเร็จ นี่คือตัวอย่างโค้ดบางส่วน (ใน JAVA) ของวิธีการทั่วไป) public boolean doSomething(Object p_somthingToDoOn) { boolean result = false; try{ // if dirty object then clean doactualStuffOnObject(p_jsonObject); //assume success (no exception thrown) …

12
PHP: ข้อยกเว้นและข้อผิดพลาด?
บางทีฉันอาจจะพลาดที่ไหนสักแห่งในคู่มือ PHP แต่อะไรคือความแตกต่างระหว่างข้อผิดพลาดและข้อยกเว้น? ความแตกต่างเดียวที่ฉันเห็นคือข้อผิดพลาดและข้อยกเว้นจะได้รับการจัดการที่แตกต่างกัน แต่อะไรทำให้เกิดข้อยกเว้นและอะไรทำให้เกิดข้อผิดพลาด?


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.