我有一個方法,當拋出異常時被調用。只有Exception.ToString()
傳遞給它。目前不可能將參數更改爲接受Exception
而不是字符串,因爲我們必須更改大量頁面,並且我無法控制該參數(請勿讓任何人告訴我這樣做) ,因爲相信我,我願意這樣做)。我們已經有了一個處理異常的類,但是我有機會更新這個方法,我想知道是否有可能使用反射或使用HttpContext.Current.Server.GetLastError()
來獲取最後的異常。與GetLastError()
它不起作用,因爲異常處理。有沒有辦法解決這個問題,也許有反思或什麼?任何幫助是極大的讚賞。如果之前已經討論過這個問題,請給我看看,因爲我找不到類似的問題。使用反射或通過HttpContext.Current.Server.GetLastError()獲取上一個異常
0
A
回答
0
簡單快速的解決方案我用現在(使用一些信息來自Exception and Reflection):
string typeName = err.Substring(0, err.IndexOf(":"));
string message = err.Length > typeName.Length + 2 ? err.Substring(err.IndexOf(":") + 1) : string.Empty;
Type type = Type.GetType(typeName);
ConstructorInfo ctor = type.GetConstructor(new[] { typeof(string) });
object exception = ctor.Invoke(new object[] { message });
串犯錯是Exception.ToString(),這將有異常的類型,然後我做了消息其餘的tostring方法。這實際上會做。如果我想要非常明確,我可以使用反射來編輯每個屬性,但是在那裏存在錯誤的空間,並且tostring實際上將擁有一切,因爲我創建了異常類型,所以它們都很好。 :)希望這可以幫助別人
相關問題
- 1. 通過反射獲取XmlRootAttribute.ElementName
- 2. 使用反射獲取字段值時得到異常
- 3. JPA-Hibernate異常「無法通過反射獲取字段值」持久
- 4. 通過反射獲取陰影方法
- 5. 通過反射獲取事件參數
- 6. 通過反射獲取接口屬性
- 7. 通過反射獲取子類字段
- 8. Java通過反射獲取參數值
- 9. 通過反射獲取在PHP
- 10. classnotfound異常反射
- 11. Webservice反射異常
- 12. 獲得通過反射
- 13. 獲得通過反射
- 14. 通過反射獲取bean屬性getter或setter?
- 15. 提取,並通過反射
- 16. 獲取投射異常Android
- 17. 使用Java反射的ClassnotFound異常
- 18. java.lang.IllegalArgumentException異常:在使用反射
- 19. 獲取使用反射
- 20. 如果通過使用反射創建對象,那麼獲取?
- 21. 獲取與註釋,字段列表通過使用反射
- 22. 使用反射來獲取所有屬性並通過方法
- 23. 在運行時通過反射獲取通用字段類型
- 24. ObservableArrayList:如何通過反射獲取通用類型?
- 25. 通過反射
- 26. 通過反射
- 27. 通過反射
- 28. 通過反射
- 29. 通過反射
- 30. 通過反射
你可以存儲最後一個異常,在會話中清除之前?如果不使用GetLastError(),則無法獲取上一個錯誤。 – 2012-02-08 15:57:34
很遺憾沒有。我想到的另一個解決方案是使用這個http://stackoverflow.com/questions/3810111/exception-and-reflection使用toString()的細節重新創建它 – pqsk 2012-02-08 16:00:59