我想知道C#中特定和一般異常的區別。如果有人用示例回答我會很有幫助。C#中的Specific和Exception異常有什麼區別?
-1
A
回答
1
這裏的區別是:請詢問清楚的認識例如
例子:
class Program
{
static void Main()
{
try
{
int[] array = new int[100];
array[0] = 1;
array[10] = 2;
array[200] = 3; // this line will through *IndexOutOfRangeException* Exception
object o = null;
o.ToString(); // this line will through *NullReferenceException* Exception
}
/* the below catch block(IndexOutOfRangeException class) will only catch *IndexOutOfRangeException* and not *NullReferenceException*
hence you can say it as Specific Exception as it is catching only a particular exception.
*/
catch (IndexOutOfRangeException e)
{
Console.WriteLine("Incorrect Index"); // Or any of you Custom error message etc.
}
/* the below catch block(Exception class) will catch all the type of exception and hence you can call it as Generic Exception.
*/
catch (Exception e)
{
Console.WriteLine("Opps Something Went Wrong..."); // Or any of you Custom error message etc.
}
}
}
特例:正如你在上面IndexOutOfRange看到的例子僅處理一個類型的異常因此你可以把它作爲特定的例外。
通用異常:這些Exception類可以處理任何類型的異常。所以可以把它稱爲泛化例外。
+0
謝謝。這很好解釋。 – Sunny
+0
@孫尼我的榮幸。你能把它標記爲答案嗎? –
相關問題
- 1. catch(Exception $ ex)和catch(\ Exception $ ex)之間有什麼區別?
- 2. 錯誤與異常有什麼區別?
- 3. printf中%c和%C有什麼區別?
- 4. Javascript中的錯誤和異常有什麼區別
- 5. 在javadoc中,標籤@throws和@exception有什麼區別?
- 6. 中斷和異常上下文有什麼區別?
- 7. C++中fprintf和vfprintf有什麼區別?
- 8. C++中0x和'\ x'有什麼區別?
- 9. C#中CLR和DLR有什麼區別?
- 10. C++中#import和#include有什麼區別?
- 11. C中#define和'='有什麼區別?
- 12. C#中ArrayList和Hashtable有什麼區別?
- 13. 爲什麼異常在類名中通常有後綴'Exception'?
- 14. 什麼區別\\。\ C:和\\。\ C:\
- 15. char [] c和char c []有什麼區別?
- 16. Managed C++和C++/CLI有什麼區別?
- 17. Visual C++和C++有什麼區別?
- 18. \ c和\\ c有什麼區別?
- 19. c#和visual c#有什麼區別?
- 20. 託管C++和C#有什麼區別?
- 21. C++和C++ CLI有什麼區別
- 22. 有什麼區別`和$(Bash中有什麼區別?
- 23. 陷印和處理異常有什麼區別?
- 24. 投擲和投擲之間有什麼區別異常
- 25. 拋出和拋出arg捕獲異常有什麼區別?
- 26. web.xml錯誤500和struts全局異常有什麼區別?
- 27. 爲什麼Exception(str())拋出異常?
- 28. C++異常; int或std :: exception?
- 29. 異步私有和私有異步的區別是什麼?
- 30. 有什麼區別C#
特定的一個提供更多信息。 – HimBromBeere