fromStringOrThrow

Summary

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

Usage

public static int fromStringOrThrow(string numberAsStr)

Returns

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

Parameters

numberAsStr

The string value to convert.

Description

Converts a string to a valid int 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 int 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 {
    int x = Integer32.fromStringOrThrow("100");
}
catch(InvalidNumberException e) {
    // Will not execute because the string value is numeric
    Console.error(e);
}

try {
    int y = Integer32.fromStringOrThrow("abc");
}
catch(InvalidNumberException e) {
    Console.error(e);
}

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

import System;
import System.Exceptions;

try {
    int exceedByOne = Integer32.fromStringOrThrow("2147483648");
}
catch(IntegerOutOfRangeException e) {
    Console.error(e);
}

Examples

Valid Conversion (No exception)
1
2
3
4
5
import System;
import System.Exceptions;
 
int valid = Integer32.fromStringOrThrow("123");
Console.log(valid); // 123
Invalid Conversion (Not numeric)
1
2
3
4
5
6
7
8
import System;
 
try {
    int invalid = Integer32.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 {
    int exceedByOne = Integer32.fromStringOrThrow("2147483648");
}
catch(IntegerOutOfRangeException e) {
    Console.error(e);
}

Share

HTML | BBCode | Direct Link