Programa que gere uma matriz

Olá, pessoal!

Estou com dificuldade em resolver um exercício da faculdade em que
preciso gerar uma matriz na qual o usuário informe as dimensões. Depois
preciso preenchê-la com valores que o usuário vai informar. Quando
executo o programa, ele dá ArrayIndexOutOfBoundException quando vai
percorrer as colunas. Conseguem me ajudar a ver o que posso estar
fazendo de errado?

import java.util.Scanner;

public class SomaDasDiagonais {

public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    int[][] matriz;
    int[] tamanho = new int[2];
    int soma = 0, i, j, n, m;
    for(i = 0; i < 2; i++){
        n = i + 1;
        System.out.println("Informe a " + n + "ª dimensão da matriz:");
        tamanho[i] = s.nextInt();
    }
    matriz = new int[tamanho[0]][tamanho[1]];

    for(i = 0; i < matriz.length; i++){
        n = i + 1;
        System.out.println(n);
        for(j = 0; j < matriz[tamanho[0]].length; j++){
            m = j = 1;
            System.out.println("Informe o valor de " + n + "." + m +
                    " na matriz:");
            matriz[i][j] = s.nextInt();
        }
    }
    s.close();
    i = 0;
    j = 0;
    while(i < matriz.length && j < matriz[tamanho[1]].length){
        soma += matriz[i][j];
        i++;
        j++;
    }
    i = 0;
    j = (matriz[tamanho[i]].length - 1);
    while(i < matriz.length && j > 0){
        soma += matriz[i][j];
        i++;
        j--;
    }
    System.out.println("A soma das diagonais principal e secundária é " + soma);
}

Obrigado desde já, pessoal!

Tem problemas neste loop

for(i = 0; i < matriz.length; i++){
    n = i + 1;
    System.out.println(n);
    for(j = 0; j < matriz[tamanho[0]].length; j++){
        m = j = 1;
        System.out.println("Informe o valor de " + n + "." + m +
                " na matriz:");
        matriz[i][j] = s.nextInt();
    }
}

Teria q ser i < tamanho[0] e j < tamanho[1].
Também m = j = 1 n faz sentido aí então seria

System.out.println("Informe o valor de " + i + "." + j +
      " na matriz:");

Neste loop

while(i < matriz.length && j < matriz[tamanho[1]].length){
    soma += matriz[i][j];
    i++;
    j++;
}

acho q seria

while(i < tamanho[0] && j < tamanho[1]) {

E aqui também

j = (matriz[tamanho[i]].length - 1);
while(i < matriz.length && j > 0){
    soma += matriz[i][j];
    i++;
    j--;
}

Acho q seria

j = tamanho[1] - 1;
while(i < tamanho[0] && j > 0){

Cara, eu já tinha conseguido resolver e era bem o que você falou. Mas muito obrigado pela disposição em ajudar, mesmo assim, poucas pessoas em fóruns BR estão dispostas a ajudar. Obrigado mesmo!
Meu código ficou assim:

import java.util.Scanner;

public class SomaDasDiagonais {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int[][] matriz;
        int[] tamanho = new int[2];
        int soma = 0, i, j, n, m;
        for(i = 0; i < 2; i++){
            n = i + 1;
            System.out.println("Informe a " + n + "ª dimensão da matriz:");
            tamanho[i] = s.nextInt();
        }
        matriz = new int[tamanho[0]][tamanho[1]];

        for(i = 0; i < tamanho[0]; i++){
            n = i + 1;
            System.out.println(n);
            for(j = 0; j < tamanho[1]; j++){
                m = j + 1;
                System.out.println("Informe o valor de " + n + "." + m +
                        " na matriz:");
                matriz[i][j] = s.nextInt();
            }
        }
        s.close();
        i = 0;
        j = 0;
        while(i < tamanho[0] && j < tamanho[1]){
            soma += matriz[i][j];
            i++;
            j++;
        }
        i = 0;
        j = (tamanho[1] - 1);


        while(i < tamanho[0] && j > -1){
            soma += matriz[i][j];
            i++;
            j--;
        }
        System.out.println("A soma das diagonais principal e secundária é " + soma);

    }

}

E outra, pra te facilitar você não precisava daquele for la em cima pra pegar os dados do usuário, não havia necessidade, visto que a classe Scanner não necessita disso só uma dica.