Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy korábbi fogási záradék már minden kivételt kifog. Az összes kidobott kivétel be lesz csomagolva egy System.Runtime.CompilerServices.RuntimeWrappedException fájlba
Ez az attribútum CS1058-at okoz, ha egy catch() blokk nem rendelkezik megadott kivételtípussal egy catch (System.Exception e) blokk után. A figyelmeztetés azt jelzi, hogy a catch() blokk nem fog kivételeket észlelni.
A catch() blokk utáni catch (System.Exception e) blokkok nem CLS-kivételeket észlelhetnek, ha az RuntimeCompatibilityAttribute AssemblyInfo.cs fájlban hamis értékre van állítva: [assembly: RuntimeCompatibilityAttribute(WrapNonExceptionThrows = false)]. Ha ez az attribútum nincs explicit módon hamisra állítva, a rendszer kivételként csomagolja be az összes nem CLS-kivételt, és a catch (System.Exception e) blokk elkapja őket. További információ: A nem CLS-kivételek elfogása.
Példa
Az alábbi példa CS1058-at hoz létre.
// CS1058.cs
// CS1058 expected
using System.Runtime.CompilerServices;
// the following attribute is set to true by default in the C# compiler
// set to false in your source code to resolve CS1058
[assembly: RuntimeCompatibilityAttribute(WrapNonExceptionThrows = true)]
class TestClass
{
static void Main()
{
try {}
catch (System.Exception e) {
System. Console.WriteLine("Caught exception {0}", e);
}
catch {} // CS1058. This line will never be reached.
}
}