Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
397 views
in Technique[技术] by (71.8m points)

c# - Is it ok to derive from System.ArgumentException?

If I have a method that checks the validity of its arguments, is it ok to throw my own custom exceptions derived from System.ArgumentException? I am asking because ArgumentException is itself derived from System.SystemException and I am seeing conflicting guidelines as to whether an application should derive from SystemException. (Albeit indirectly, deriving from ArgumentException is still tantamount to deriving from SystemException.)

I see lots of guidelines saying don't derive from ApplicationException, but derive from Exception instead. I'm happy with that. What I'm not sure about is whether it's ok to derive from SystemException too.

If I shouldn't derive from SystemException, then what should I derive my "invalid argument" exception classes from?

question from:https://stackoverflow.com/questions/12857708/is-it-ok-to-derive-from-system-argumentexception

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The MSDN page about Best Practices for Handling Exceptions says

Throw an ArgumentException or a class derived from ArgumentException if invalid parameters are passed.

So i would say it's ok and even recommended.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...