คำถามติดแท็ก exception

ข้อยกเว้นเป็นเงื่อนไขผิดปกติที่ต้องมีการเบี่ยงเบนจากการไหลปกติของโปรแกรม โดยปกติข้อยกเว้นไม่ควรส่งผลให้เกิดความล้มเหลวทั้งหมด แต่จะเข้าร่วมโดยตัวจัดการข้อยกเว้น การจัดการข้อยกเว้นเป็นโครงสร้างที่มีอยู่แล้วในหลายภาษาโปรแกรม โดยปกติแล้วข้อยกเว้นจะถูกจัดการโดยการคลายสแต็กดังนั้นจึงย้อนกลับไปยังสถานะที่กำหนดนอกขอบเขตของข้อยกเว้นจากนั้นจึงเรียกใช้ตัวจัดการบล็อกหรือรูทีน

6
คุณจับข้อยกเว้นนี้ได้อย่างไร
รหัสนี้อยู่ใน django / db / models / fields.py มันสร้าง / กำหนดข้อยกเว้น? class ReverseSingleRelatedObjectDescriptor(six.with_metaclass(RenameRelatedObjectDescriptorMethods)): # This class provides the functionality that makes the related-object # managers available as attributes on a model class, for fields that have # a single "remote" value, on the class that defines the related field. # …
162 python  django  exception 

8
การแยกจำนวนเต็มอย่างปลอดภัยใน Ruby
ฉันมีสตริงพูดและผมต้องการที่จะแปลงเป็นจำนวนเต็ม'123'123 ฉันรู้ว่าคุณสามารถทำsome_string.to_iแต่แปลงที่'lolipops'ไป0ซึ่งไม่เป็นผลที่ผมมีในใจ Exceptionฉันต้องการที่จะระเบิดขึ้นในใบหน้าของฉันเมื่อฉันพยายามที่จะแปลงบางสิ่งบางอย่างที่ไม่ถูกต้องกับความสุขและความเจ็บปวด มิฉะนั้นฉันไม่สามารถแยกความแตกต่างระหว่างสิ่งที่ถูกต้อง0กับสิ่งที่ไม่ได้เป็นตัวเลขเลย แก้ไข:ฉันกำลังมองหาวิธีการมาตรฐานในการทำโดยไม่มีกลอุบาย regex

10
มีวิธีการถ่ายโอนข้อมูลกองติดตามโดยไม่ทิ้งข้อยกเว้นใน java?
ฉันกำลังคิดที่จะสร้างเครื่องมือดีบั๊กสำหรับแอปพลิเคชัน Java ของฉัน ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะได้รับการติดตามแบบสแต็กเหมือนException.printStackTrace()แต่ไม่มีข้อผิดพลาดเกิดขึ้นจริงหรือไม่ เป้าหมายของฉันคือการทิ้งสแต็กเพื่อดูว่าใครเป็นผู้โทร

6
เปิด IncludeExceptionDetailInFaults (จาก ServiceBehaviorAttribute หรือจากพฤติกรรมการกำหนดค่า <serviceDebug>) บนเซิร์ฟเวอร์
ฉันมีบริการ WCF ที่ทำงานได้อย่างสมบูรณ์และมีบางอย่างเปลี่ยนไปและฉันไม่รู้ว่าอะไร ฉันได้รับข้อยกเว้นนี้: System.ServiceModel.FaultException: เซิร์ฟเวอร์ไม่สามารถดำเนินการตามคำขอเนื่องจากข้อผิดพลาดภายใน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดเปิดใช้งาน IncludeExceptionDetailInFaults (จาก ServiceBehaviorAttribute หรือจากพฤติกรรมการกำหนดค่า) บนเซิร์ฟเวอร์เพื่อส่งข้อมูลข้อยกเว้นกลับไปยังไคลเอนต์หรือเปิดการสืบค้นกลับตามเอกสารประกอบของ Microsoft .NET Framework 3.0 SDK และตรวจสอบบันทึกการติดตามเซิร์ฟเวอร์ สิ่งนี้สับสนเพราะฉันใช้. NET 4.0 ฉันจะเปิดIncludeExceptionDetailInFaultsที่ไหน ฉันต่อสู้เพื่อค้นหามัน

14
เหตุผลที่เป็นทางการสำหรับ“ ซอฟต์แวร์ทำให้การเชื่อมต่อยกเลิก: ข้อผิดพลาดในการเขียนซ็อกเก็ต”
รับตัวอย่างสแต็กการติดตามนี้ เกิดจาก: java.net.SocketException: ซอฟต์แวร์ทำให้เกิดการยกเลิกการเชื่อมต่อ: ข้อผิดพลาด ในการเขียนซ็อกเก็ตที่ java.net.SocketOutputStream.socketWrite0 (วิธีดั้งเดิม) ฉันพยายามตอบคำถามต่อไปนี้: รหัสอะไรที่จะโยนข้อยกเว้นนี้ (JVM? / Tomcat? / รหัสของฉัน?) ทำให้เกิดข้อยกเว้นนี้จะถูกโยนอะไร เกี่ยวกับ # 1: แหล่งที่มาของ JVM ของซันไม่มีข้อความที่แน่นอนนี้ แต่ฉันคิดว่าข้อความซอฟต์แวร์ที่ทำให้เกิดการยกเลิกการเชื่อมต่อ: ข้อผิดพลาดในการเขียนซ็อกเก็ตเกิดจากการใช้งานดั้งเดิมSocketOutputStream: private native void socketWrite0(FileDescriptor fd, byte[] b, int off, int len) throws IOException; เกี่ยวกับ # 2 ฉันเดาว่ามันเกิดขึ้นเมื่อลูกค้าได้ยกเลิกการเชื่อมต่อก่อนที่จะได้รับการตอบสนองอย่างเต็มที่ (เช่นส่งคำขอ แต่ก่อนที่จะได้รับการตอบสนองอย่างเต็มรูปแบบมันก็ปิด / ยุติ / ออฟไลน์) คำถาม: สมมติฐานข้างต้นถูกต้อง (# …

5
อะไรคือวิธีปฏิบัติที่ดีที่สุดสำหรับการจับและการยกเว้นใหม่?
ควรจับโยนข้อยกเว้นใหม่อีกครั้งโดยตรงหรือควรปิดล้อมข้อยกเว้นใหม่หรือไม่ นั่นคือฉันควรทำสิ่งนี้: try { $connect = new CONNECT($db, $user, $password, $driver, $host); } catch (Exception $e) { throw $e; } หรือสิ่งนี้: try { $connect = new CONNECT($db, $user, $password, $driver, $host); } catch (Exception $e) { throw new Exception("Exception Message", 1, $e); } หากคำตอบของคุณคือการขว้างปาโดยตรงโปรดแนะนำการใช้ข้อยกเว้นการผูกมัดฉันไม่สามารถเข้าใจสถานการณ์จริงที่เราใช้ข้อยกเว้นการผูกมัด
156 php  exception 

8
วิธีที่เหมาะสมในการแสดง InnerException แบบเต็มคืออะไร
เป็นวิธีที่เหมาะสมในการแสดงเต็มของฉันInnerExceptionคืออะไร ฉันพบว่า InnerExceptions บางอย่างของฉันมีอีกอันหนึ่งInnerExceptionและมันก็ค่อนข้างลึก จะInnerException.ToString()ทำงานให้ฉันหรือฉันต้องวนซ้ำInnerExceptionsและสร้างStringด้วยStringBuilder?

12
มีข้อยกเว้นเกิดขึ้นในการจับและประโยคสุดท้าย
สำหรับคำถามเกี่ยวกับ Java ที่มหาวิทยาลัยมีตัวอย่างของรหัสนี้: class MyExc1 extends Exception {} class MyExc2 extends Exception {} class MyExc3 extends MyExc2 {} public class C1 { public static void main(String[] args) throws Exception { try { System.out.print(1); q(); } catch (Exception i) { throw new MyExc2(); } finally { System.out.print(2); throw new MyExc1(); } …
155 java  exception 

4
การใช้ข้อผิดพลาดอย่างเหมาะสม
ฉันใช้ TypeScript สำหรับโครงการขนาดใหญ่พอสมควรและฉันสงสัยว่ามาตรฐานสำหรับการใช้งานของErrors คืออะไร ตัวอย่างเช่นฉันส่งดัชนียกเว้นขอบเขตใน Java: throw new IndexOutOfBoundsException(); คำสั่งที่เทียบเท่าใน TypeScript จะเป็น: throw new Error("Index Out of Bounds"); ฉันสามารถทำสิ่งนี้ในวิธีอื่นได้อีก? มาตรฐานที่ยอมรับคืออะไร?


9
แนวทางปฏิบัติที่ดี: AsyncTask ในระหว่างการเปลี่ยนการวางแนว
AsyncTask เป็นสิ่งที่ดีในการทำงานที่ซับซ้อนในหัวข้ออื่น แต่เมื่อมีการเปลี่ยนแปลงการวางแนวหรือเปลี่ยนแปลงการกำหนดค่าอื่นในขณะที่AsyncTaskยังคงทำงานอยู่ในปัจจุบันActivityจะถูกทำลายและเริ่ม และเมื่ออินสแตนซ์ของAsyncTaskเชื่อมต่อกับกิจกรรมนั้นจะล้มเหลวและทำให้หน้าต่างข้อความ "บังคับปิด" ดังนั้นฉันกำลังมองหา "แนวปฏิบัติที่ดีที่สุด" เพื่อหลีกเลี่ยงข้อผิดพลาดและป้องกันไม่ให้ AsyncTask ล้มเหลว สิ่งที่ฉันเคยเห็นคือ: ปิดใช้งานการเปลี่ยนแปลงการวางแนว (ไม่แน่ใจว่าคุณควรจัดการกับสิ่งนี้อย่างไร) ปล่อยให้งานอยู่รอดและอัปเดตด้วยอินสแตนซ์กิจกรรมใหม่ผ่านทาง onRetainNonConfigurationInstance เพียงแค่ยกเลิกงานเมื่อActivityมีการทำลายและเริ่มต้นใหม่เมื่อActivityมีการสร้างอีกครั้ง ผูกงานกับคลาสแอ็พพลิเคชันแทนอินสแตนซ์กิจกรรม วิธีการบางอย่างที่ใช้ในโครงการ "ชั้นวาง" (ผ่าน onRestoreInstanceState) ตัวอย่างโค้ดบางส่วน: Android AsyncTasks ระหว่างการหมุนหน้าจอ, ส่วนที่ฉันและส่วนที่สอง ShelvesActivity.java คุณช่วยฉันหาวิธีที่ดีที่สุดที่แก้ปัญหาได้ดีที่สุดและใช้งานได้ง่ายเช่นกัน? รหัสตัวเองก็มีความสำคัญเนื่องจากฉันไม่รู้วิธีการแก้ไขอย่างถูกต้อง

2
ฉันจะสร้างข้อยกเว้นใหม่ใน Javascript ได้อย่างไร แต่เก็บสแต็คไว้?
ใน Javascript สมมติว่าฉันต้องการดำเนินการล้างข้อมูลเมื่อเกิดข้อยกเว้น แต่ให้ข้อยกเว้นดำเนินการต่อไปเพื่อกระจายสแต็กเช่น: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); ปัญหาของรหัสนี้คือการจับและ rethrowing ข้อยกเว้นทำให้ข้อมูลการติดตามสแต็กถึงจุดนั้นหายไปดังนั้นหากข้อผิดพลาดถูกดักจับในภายหลังอีกครั้งสูงขึ้นบนสแต็กการติดตามสแต็กจะลงไปที่ -โยน. สิ่งนี้แย่เพราะมันหมายความว่ามันไม่มีฟังก์ชั่นที่ทำให้เกิดข้อยกเว้น ตามที่ปรากฎลอง .. ในที่สุดก็มีพฤติกรรมเหมือนกันใน Chrome อย่างน้อย (นั่นคือไม่ใช่การโยนซ้ำที่เป็นปัญหาอย่างแม่นยำ แต่มีตัวจัดการบล็อกข้อยกเว้นอยู่เลย) ไม่มีใครรู้วิธีที่จะ rethrow ข้อยกเว้นใน Javascript แต่รักษาร่องรอยสแต็คที่เกี่ยวข้องกับมันได้หรือไม่ ความล้มเหลวนั้นวิธีการเกี่ยวกับคำแนะนำสำหรับวิธีอื่น ๆ ในการเพิ่มตัวจัดการการล้างข้อมูลบนข้อยกเว้นที่ปลอดภัยขณะเดียวกันก็จับการติดตามสแต็กที่สมบูรณ์เมื่อมีข้อยกเว้นเกิดขึ้น ขอบคุณสำหรับคำแนะนำใด ๆ :)

10
วิธีการแก้ไข java.net.SocketException: Broken pipe?
ฉันใช้ apache คอมมอนส์ลูกค้า http เพื่อเรียก url โดยใช้วิธีการโพสต์เพื่อโพสต์พารามิเตอร์และมันก็โยนข้อผิดพลาดด้านล่างไม่ค่อย java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) at java.io.FilterOutputStream.write(FilterOutputStream.java:80) at org.apache.commons.httpclient.methods.ByteArrayRequestEntity.writeRequest(ByteArrayRequestEntity.java:90) at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499) at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) ใครสามารถแนะนำสิ่งที่ทำให้เกิดข้อยกเว้นนี้และวิธีการแก้ไขข้อบกพร่อง
150 java  exception  post  sockets 

3
วิธีสร้างข้อยกเว้นแบบกำหนดเองใน Java [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา เราจะสร้างข้อยกเว้นที่กำหนดเองใน Java ได้อย่างไร
149 java  exception 

9
“ ข้อยกเว้นภายใน” (พร้อมการสืบค้นกลับ) ใน Python หรือไม่
พื้นหลังของฉันอยู่ใน C # และฉันเพิ่งเพิ่งเริ่มเขียนโปรแกรมใน Python เมื่อมีข้อผิดพลาดเกิดขึ้นฉันมักต้องการล้อมรอบด้วยข้อยกเว้นอื่นที่เพิ่มข้อมูลเพิ่มเติมขณะที่ยังคงแสดงการติดตามสแต็กเต็ม มันค่อนข้างง่ายใน C # แต่ฉันจะทำใน Python ได้อย่างไร เช่น. ใน C # ฉันจะทำสิ่งนี้: try { ProcessFile(filePath); } catch (Exception ex) { throw new ApplicationException("Failed to process file " + filePath, ex); } ใน Python ฉันสามารถทำสิ่งที่คล้ายกัน: try: ProcessFile(filePath) except Exception as e: raise Exception('Failed to process file …

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