a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
62 lines
820 B
C#
62 lines
820 B
C#
using System;
|
|
|
|
class X {
|
|
public static int Main()
|
|
{
|
|
if (! Test1 ()) return 1;
|
|
if (! Test2 ()) return 2;
|
|
if (! Test3 ()) return 3;
|
|
|
|
return 0;
|
|
}
|
|
|
|
static bool Test1 ()
|
|
{
|
|
byte num1 = 105;
|
|
byte num2 = 150;
|
|
|
|
// should generate OverflowException
|
|
try {
|
|
checked {
|
|
byte sum = (byte) (num1 - num2);
|
|
}
|
|
|
|
return false;
|
|
} catch (OverflowException) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
static bool Test2 ()
|
|
{
|
|
long l = long.MinValue;
|
|
|
|
// should generate OverflowException
|
|
try {
|
|
checked {
|
|
l = - l;
|
|
}
|
|
|
|
return false;
|
|
} catch (OverflowException) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
static bool Test3 ()
|
|
{
|
|
int i = int.MinValue;
|
|
|
|
// should generate OverflowException
|
|
try {
|
|
checked {
|
|
i = - i;
|
|
}
|
|
|
|
return false;
|
|
} catch (OverflowException) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|