fromStringOrThrow

Summary

Converts a string to a valid signed byte value or throws an exception if the value cannot be converted.

Usage

public static signed byte fromStringOrThrow(string numberAsStr)

Returns

The signed byte equivalent of the string value if the string is a valid signed byte value and does not overflow (the string value fits within the signed byte data range).

Parameters

numberAsStr

The string value to convert.

Description

Converts a string to a valid signed byte value or throws an exception if the value cannot be converted. If the string value is not numeric, System.Exceptions.InvalidNumberException will be thrown. If the string value is outside the range of valid values for the signed byte data type, System.Exceptions.IntegerOutOfRangeException is thrown.

For string values that are not numeric, System.Exceptions.InvalidNumberException is thrown:

import System;
import System.Exceptions;

try {
    signed byte x = Integer8.fromStringOrThrow("100");
}
catch(InvalidNumberException e) {
    // Will not execute because the string value is numeric
    Console.error(e);
}

try {
    signed byte y = Integer8.fromStringOrThrow("abc");
}
catch(InvalidNumberException e) {
    Console.error(e);
}

If the string being converted is numeric but does not fit into the signed byte data range [ -128, 127 ] (inclusive), System.Exceptions.IntegerOutOfRangeException will be thrown.

import System;
import System.Exceptions;

try {
    signed byte exceedByOne = Integer8.fromStringOrThrow("128");
}
catch(IntegerOutOfRangeException e) {
    Console.error(e);
}

Examples

Valid Conversion (No exception)
1
2
3
4
5
import System;
import System.Exceptions;
 
signed byte valid = Integer8.fromStringOrThrow("123");
Console.log(valid); // 123
Invalid Conversion (Not numeric)
1
2
3
4
5
6
7
8
import System;
 
try {
    signed byte invalid = Integer8.fromStringOrThrow("abc");
}
catch(InvalidNumberException e) {
    Console.error(e);
}
Invalid Conversion (Out of range)
1
2
3
4
5
6
7
8
9
import System;
import System.Exceptions;
 
try {
    signed byte exceedByOne = Integer8.fromStringOrThrow("2147483648");
}
catch(IntegerOutOfRangeException e) {
    Console.error(e);
}

Share

HTML | BBCode | Direct Link