{"title":"c#的异常安全","authors":"K. Leino, Wolfram Schulte","doi":"10.1109/SEFM.2004.14","DOIUrl":null,"url":null,"abstract":"Programming-language mechanisms for throwing and handling exceptions can simplify some computer programs. However the use of exceptions can also be error prone, leading to new programming errors and code that is hard to understand. This paper describes ways to tame the exception usage in C#. In particular the paper describes the treatment of exceptions in Spec#, an experimental superset of C# that includes code contracts.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"33","resultStr":"{\"title\":\"Exception safety for C#\",\"authors\":\"K. Leino, Wolfram Schulte\",\"doi\":\"10.1109/SEFM.2004.14\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Programming-language mechanisms for throwing and handling exceptions can simplify some computer programs. However the use of exceptions can also be error prone, leading to new programming errors and code that is hard to understand. This paper describes ways to tame the exception usage in C#. In particular the paper describes the treatment of exceptions in Spec#, an experimental superset of C# that includes code contracts.\",\"PeriodicalId\":207271,\"journal\":{\"name\":\"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.\",\"volume\":\"34 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2004-09-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"33\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SEFM.2004.14\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEFM.2004.14","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Programming-language mechanisms for throwing and handling exceptions can simplify some computer programs. However the use of exceptions can also be error prone, leading to new programming errors and code that is hard to understand. This paper describes ways to tame the exception usage in C#. In particular the paper describes the treatment of exceptions in Spec#, an experimental superset of C# that includes code contracts.